regression from python 2.6.2 and from upstream python 2.6.4 in distutils (?)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Tahoe-LAFS |
Invalid
|
Unknown
|
|||
python-defaults (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
This unit test is running with python 2.6.2:
http://
click on "show-tool-
The tests all pass.
The next test is with python 2.6.4rc1 from today's Karmic:
http://
One of the tests fails. The failure seems to have something to do with pkg_resources and how it locates the contents of eggs.
The next test is with python 2.6.4rc1 from today's upstream Python SVN repo (release26-maint branch):
http://
All tests pass!
And finally I put back the Ubuntu version of Python -- 2.6.4~rc1-0ubuntu1 -- and ran it again and it failed again in the same way:
http://
I also reproduced this by running the unit tests directly on the command line (instead of through a buildbot). To reproduce it run the following three commands from your shell:
darcs get --lazy http://
cd trunk
python ./setup.py test -s allmydata.
With upstream Python 2.6.4rc1, it outputs:
allmydata.
RunNode
test_client ... [OK]
-------
Ran 1 tests in 6.990s
PASSED (successes=1)
With Ubuntu Python 2.6.4~rc1-0ubuntu1, it outputs:
allmydata.
RunNode
test_client ... [FAIL]
=======
[FAIL]: allmydata.
Traceback (most recent call last):
File "/home/
self.
twisted.
File "/usr/local/
pkg_
File "/home/
self.
File "/home/
raise ResolutionError("No script named %r" % script_name)
pkg_resources.
client node probably not started
'
not equal:
a = 1
b = 0
-------
Ran 1 tests in 1.585s
FAILED (failures=1)
ProblemType: Bug
Architecture: amd64
Date: Thu Oct 15 22:30:32 2009
DistroRelease: Ubuntu 9.10
Package: python 2.6.4~rc1-0ubuntu1
PackageArchitec
ProcEnviron:
LANGUAGE=
LC_CTYPE=
PATH=(custom, user)
LANG=en_DK.UTF-8
SHELL=/bin/bash
SourcePackage: python-defaults
Uname: Linux 2.6.31.1yukyuk33 x86_64
Changed in tahoe-lafs: | |
status: | Unknown → Invalid |
Okay I've investigated more and this really has nothing to do with the difference between Python 2.6.4rc1 upstream and Python 2.6.4rc1 in Ubuntu. It is just an accident that when I test with the upstream version then my build script doesn't find Twisted (because it doesn't have /usr/lib/ python2. 6/dist- packages in its sys.path) and therefore it automatically installs a copy of Twisted for me, and then the test passes because that copy of Twisted is installed in a place where it can be found during the test. If I use the Ubuntu version of Python then it does not install a copy of Twisted (since Twisted is already installed and /usr/lib/ python2. 6/dist- packages is in the sys.path), but it is installed in such a way that its 'twistd' script can't be run by the "pkg_resources. run_script( )" command so the test fails.