Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 914414 - python-rdflib: FTBFS in rawhide
Summary: python-rdflib: FTBFS in rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-rdflib
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dave Malcolm
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F19FTBFS
TreeView+ depends on / blocked
 
Reported: 2013-02-22 10:14 UTC by Dennis Gilmore
Modified: 2013-03-28 15:16 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-28 15:16:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dennis Gilmore 2013-02-22 10:14:09 UTC
Your package python-rdflib failed to build from source in current rawhide.

http://koji.fedoraproject.org/koji/taskinfo?taskID=4978194

Build logs:
root.log: http://kojipkgs.fedoraproject.org/work/tasks/8194/4978194/root.log
build.log: http://kojipkgs.fedoraproject.org/work/tasks/8194/4978194/build.log
state.log: http://kojipkgs.fedoraproject.org/work/tasks/8194/4978194/state.log
NOTE: build logs are cleaned up after 1 week

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

Comment 1 Dave Malcolm 2013-02-22 16:11:55 UTC
For reference, it was:
  python-rdflib-3.2.3-3.fc19
the failure was in %check:

======================================================================
FAIL: Doctest: rdflib
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/doctest.py", line 2201, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for rdflib
  File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/__init__.py", line 0, in rdflib
----------------------------------------------------------------------
File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/__init__.py", line 17, in rdflib
Failed example:
    result = g.parse("http://www.w3.org/2000/10/swap/test/meet/white.rdf")
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/doctest.py", line 1289, in __run
        compileflags, 1) in test.globs
      File "<doctest rdflib[2]>", line 1, in <module>
        result = g.parse("http://www.w3.org/2000/10/swap/test/meet/white.rdf")
      File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/graph.py", line 910, in parse
        data=data, format=format)
      File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/parser.py", line 162, in create_input_source
        input_source = URLInputSource(absolute_location, format)
      File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/parser.py", line 93, in __init__
        file = urlopen(req)
      File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
        return _opener.open(url, data, timeout)
      File "/usr/lib/python2.7/urllib2.py", line 400, in open
        response = self._open(req, data)
      File "/usr/lib/python2.7/urllib2.py", line 418, in _open
        '_open', req)
      File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
        return self.do_open(httplib.HTTPConnection, req)
      File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
        raise URLError(err)
    URLError: <urlopen error [Errno -2] Name or service not known>
----------------------------------------------------------------------
File "/builddir/build/BUILD/rdflib-3.2.3/rdflib/__init__.py", line 19, in rdflib
Failed example:
    print("graph has %s statements." % len(g))
Expected:
    graph has 19 statements.
Got:
    graph has 0 statements.
Running nose with: --attr= test rdflib --where=./ --doctest-extension=.doctest
----------------------------------------------------------------------
Ran 709 tests in 54.659s
FAILED (SKIP=17, failures=1)

Comment 2 Pierre-YvesChibon 2013-02-22 17:04:37 UTC
For some reasons it seems to have ignored the sed command launch before that deactivate the run of the tests in the documentation (which I placed there for that exact problem)

Comment 3 Dave Malcolm 2013-03-27 17:59:41 UTC
Adding "-v" to the run_tests.py passes it on to the nose invocation and logs the names of the tests being executed.  In particular, it's clear that doctests *are* getting run even with the sed command from ed5650665df98c492b400cf6f7d3adf4b4e87e3f (which did successfully modify run_tests.py).

A better fix may be to disable just the tests that go to the network, which seem to be these two:
  ./rdflib/__init__.py:18:    >>> result = g.parse("http://www.w3.org/2000/10/swap/test/meet/white.rdf")
  ./test/test_rules.py:63:            f.parse("http://eikeon.com/")

I'm investigating a way of doing that.  I tried patching to add this directive:
  # doctest: +SKIP
but that works per-line.

Comment 4 Pierre-YvesChibon 2013-03-27 18:05:27 UTC
Just wondering, did you try with the latest version? I saw upstream released one but I didn't have time to look into it yet.

Comment 5 Dave Malcolm 2013-03-27 21:14:26 UTC
(In reply to comment #4)
> Just wondering, did you try with the latest version? I saw upstream released
> one but I didn't have time to look into it yet.

I haven't tried yet; this is just with 3.2.3 in "master"

Comment 6 Dave Malcolm 2013-03-27 21:25:10 UTC
The issue is that there's a setup.cfg containing:
  [nosetests]
  attr = !known_issue,!non_core,
  verbosity = 1
  with-doctest = 1

and that "with-doctest = 1" is forcing the option to be on, with:
    'enable_plugin_doctest': True

Commenting out that line *does* turn them off though (assuming the existing sed changes)
(I initially tried editing that line to "with-doctest = 0", and that didn't work).

Note to self: "--collect-only" is *much* faster to run
[this took a *lot* of debugging]

Fix committed to git to master (for f20) as:
http://pkgs.fedoraproject.org/cgit/python-rdflib.git/commit/?id=70134fdca596f0bdc557848fd8efb4c1c52e1c7b

Building python-rdflib-3.2.3-4.fc20 for rawhide
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=5182657

Comment 7 Dave Malcolm 2013-03-28 15:16:09 UTC
(In reply to comment #6)
> Building python-rdflib-3.2.3-4.fc20 for rawhide
> Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=5182657

This succeeeded, and reviewing the build logs shows that the doctests were indeed *not* run.

I pushed the change to the f19 branch also


Note You need to log in before you can comment on or make changes to this bug.