[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1258: having Tahoe or any dependency installed in site-packages (or any other shared directory) can cause us to run or test the wrong code

Tahoe-LAFS trac at tahoe-lafs.org
Sun Mar 27 18:31:53 UTC 2016


#1258: having Tahoe or any dependency installed in site-packages (or any other
shared directory) can cause us to run or test the wrong code
------------------------------------+----------------------------------
     Reporter:  davidsarah          |      Owner:  davidsarah
         Type:  defect              |     Status:  closed
     Priority:  major               |  Milestone:  1.11.0
    Component:  dev-infrastructure  |    Version:  1.8.0
   Resolution:  fixed               |   Keywords:  setuptools test docs
Launchpad Bug:                      |
------------------------------------+----------------------------------
Changes (by warner):

 * status:  new => closed
 * resolution:   => fixed
 * milestone:  eventually => 1.11.0


Old description:

> From ticket:1253#comment:20 :
>
> > There is now a test failure on zomp (Mac OS 10.6) which looks like it
> might be caused by these patches:
> >
> > http://tahoe-lafs.org/buildbot/builders/Zooko%20zomp%20Mac-
> amd64%2010.6%20py2.6/builds/208/steps/test/logs/stdio
> >
> > {{{
> > [FAIL]
> > Traceback (most recent call last):
> >   File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
> py2.6/build/src/allmydata/test/test_system.py", line 1609, in
> _check_mv_with_http_proxy
> >     self.failUnlessEqual(rc_or_sig, 0, str(res))
> > twisted.trial.unittest.FailTest: ('', 'Traceback (most recent call
> last):\n  File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
> py2.6/build/support/bin/tahoe", line 9, in <module>\n    load_entry_point
> (\'allmydata-tahoe==1.8.0-r4818\', \'console_scripts\', \'tahoe\')()\n
> File "/Library/Python/2.6/site-packages/allmydata/scripts/runner.py",
> line 114, in run\n    rc = runner(sys.argv[1:],
> install_node_control=install_node_control)\n  File "/Library/Python/2.6
> /site-packages/allmydata/scripts/runner.py", line 100, in runner\n    rc
> = cli.dispatch[command](so)\n  File "/Library/Python/2.6/site-
> packages/allmydata/scripts/cli.py", line 504, in mv\n    rc =
> tahoe_mv.mv(options, mode="move")\n  File "/Library/Python/2.6/site-
> packages/allmydata/scripts/tahoe_mv.py", line 31, in mv\n    data =
> urllib.urlopen(from_url + "?t=json").read()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 87, in urlopen\n    return opener.open(url)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 203, in open\n    return getattr(self, name)(url)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 338, in open_http\n    h.endheaders()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 868, in endheaders\n    self._send_output()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 740, in _send_output\n    self.send(msg)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 699, in send\n    self.connect()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 683, in connect\n    self.timeout)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py",
> line 512, in create_connection\n    raise error, msg\nIOError: [Errno
> socket error] [Errno 60] Operation timed out\n', 1)
> > not equal:
> > a = 1
> > b = 0
> > }}}
>
> and ticket:1253#comment:21 :
>
> > [source:src/allmydata/scripts/tahoe_mv.py at 4818#L31] is not
> > "{{{data = urllib.urlopen(from_url + "?t=json").read()}}}". That's what
> it was
> > before the fix.
> >
> > Somehow the code being tested has the test patch
> [changeset:01a53650510a9a4e], but not the fix patch
> [changeset:cb777ad14f12a249].
> >
> > Oh, it is testing "/Library/Python/2.6/site-
> packages/allmydata/scripts/tahoe_mv.py". Wrong! This looks like the issue
> that we fixed for the test-from-egg and test-from-prefixdir steps in
> #1137.

New description:

 From ticket:1253#comment:20 :

 > There is now a test failure on zomp (Mac OS 10.6) which looks like it
 might be caused by these patches:
 >
 > http://tahoe-lafs.org/buildbot/builders/Zooko%20zomp%20Mac-
 amd64%2010.6%20py2.6/builds/208/steps/test/logs/stdio
 >
 > {{{
 > [FAIL]
 > Traceback (most recent call last):
 >   File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
 py2.6/build/src/allmydata/test/test_system.py", line 1609, in
 _check_mv_with_http_proxy
 >     self.failUnlessEqual(rc_or_sig, 0, str(res))
 > twisted.trial.unittest.FailTest: ('', 'Traceback (most recent call
 last):\n  File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
 py2.6/build/support/bin/tahoe", line 9, in <module>\n    load_entry_point
 (\'allmydata-tahoe==1.8.0-r4818\', \'console_scripts\', \'tahoe\')()\n
 File "/Library/Python/2.6/site-packages/allmydata/scripts/runner.py", line
 114, in run\n    rc = runner(sys.argv[1:],
 install_node_control=install_node_control)\n  File "/Library/Python/2.6
 /site-packages/allmydata/scripts/runner.py", line 100, in runner\n    rc =
 cli.dispatch[command](so)\n  File "/Library/Python/2.6/site-
 packages/allmydata/scripts/cli.py", line 504, in mv\n    rc =
 tahoe_mv.mv(options, mode="move")\n  File "/Library/Python/2.6/site-
 packages/allmydata/scripts/tahoe_mv.py", line 31, in mv\n    data =
 urllib.urlopen(from_url + "?t=json").read()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 87, in urlopen\n    return opener.open(url)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 203, in open\n    return getattr(self, name)(url)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 338, in open_http\n    h.endheaders()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 868, in endheaders\n    self._send_output()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 740, in _send_output\n    self.send(msg)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 699, in send\n    self.connect()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 683, in connect\n    self.timeout)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py",
 line 512, in create_connection\n    raise error, msg\nIOError: [Errno
 socket error] [Errno 60] Operation timed out\n', 1)
 > not equal:
 > a = 1
 > b = 0
 > }}}

 and ticket:1253#comment:21 :

 > [source:src/allmydata/scripts/tahoe_mv.py at 4818#L31] is not
 > "{{{data = urllib.urlopen(from_url + "?t=json").read()}}}". That's what
 it was
 > before the fix.
 >
 > Somehow the code being tested has the test patch
 [changeset:01a53650510a9a4e], but not the fix patch
 [changeset:cb777ad14f12a249].
 >
 > Oh, it is testing "/Library/Python/2.6/site-
 packages/allmydata/scripts/tahoe_mv.py". Wrong! This looks like the issue
 that we fixed for the test-from-egg and test-from-prefixdir steps in
 #1137.

--

Comment:

 We now recommend tox for running tests, and virtualenv for running tahoe
 at all, which gives us the desired isolation between any system/site-
 packages -installed python packages and tahoe's own requirements. So we
 can close this now.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1258#comment:31>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list