Hi,
I may want to create a branch of zc.buildout. It would be handy if I
get the current tests to pass first though, which for me they don't. I
have read the DEVELOPERS.txt on trunk.
This is zc.buildout trunk. I ran dev.py with a clean python 2.6.6
(freshly downloaded and compiled, no setuptools). Mac OS X 10.6.6.
I have removed my ~/.buildout/default.cfg and ~/.pythonrc.py for good
measure.
I ran the tests but in the end I have to interrupt them as they wait
forever:
$ time bin/test
Running zope.testrunner.layer.UnitTests tests:
Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
zip_safe flag not set; analyzing archive contents...
zip_safe flag not set; analyzing archive contents...
zip_safe flag not set; analyzing archive contents...
zip_safe flag not set; analyzing archive contents...
zip_safe flag not set; analyzing archive contents...
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
Unused options for buildout: 'bar' 'foo'.
(... wait a long time...)
^CThe following test left new threads behind:
allowed_eggs_from_site_packages_bug_592524 (zc.buildout.tests)
New thread(s):
[]
Traceback (most recent call last):
File "bin/test", line 26, in <module>
'--test-path',
'/Users/mauritsvanrees/buildout/zc.buildout/trunk/z3c.recipe.scripts_/src',
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/__init__.py",
line 30, in run
failed = run_internal(defaults, args, script_parts=script_parts)
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/__init__.py",
line 43, in run_internal
runner.run()
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/runner.py",
line 139, in run
self.run_tests()
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/runner.py",
line 220, in run_tests
setup_layers, self.failures, self.errors)
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/runner.py",
line 377, in run_layer
return run_tests(options, tests, layer_name, failures, errors)
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/eggs/zope.testrunner-4.0.1-py2.6.egg/zope/testrunner/runner.py",
line 309, in run_tests
test(result)
File
"/Users/mauritsvanrees/py/clean/py266/lib/python2.6/unittest.py", line
300, in __call__
return self.run(*args, **kwds)
File
"/Users/mauritsvanrees/py/clean/py266/lib/python2.6/unittest.py", line
279, in run
testMethod()
File "/Users/mauritsvanrees/py/clean/py266/lib/python2.6/doctest.py",
line 2158, in runTest
test, out=new.write, clear_globs=False)
File "/Users/mauritsvanrees/py/clean/py266/lib/python2.6/doctest.py",
line 1391, in run
return self.__run(test, compileflags, out)
File "/Users/mauritsvanrees/py/clean/py266/lib/python2.6/doctest.py",
line 1253, in __run
compileflags, 1) in test.globs
File "", line
1, in <module>
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/src/zc/buildout/testing.py",
line 121, in call_py
' '.join(arg for arg in (interpreter, flags, '-c', cmd) if arg))
File
"/Users/mauritsvanrees/buildout/zc.buildout/trunk/src/zc/buildout/testing.py",
line 108, in system
result = o.read() + e.read()
KeyboardInterrupt
real 54m10.648s
user 1m4.413s
sys 0m29.749s
I think the times show that I have been patient enough. :-)
The result is the same when I call it with:
env PYTHON2.6=/Users/mauritsvanrees/py/clean/py266/bin/python bin/test
The z3c.recipe.scripts tests on zc.buildout trunk have to be interrupted
as well.
Going in with a pdb I see that it waits for completion of:
.../_TEST_/interpreter/bin/py -c 'import pprint, sys;
pprint.pprint(sys.path[-4:])'
When I try that command myself in a separate terminal it also waits
forever. Even just calling that bin/py with -h, -V, -E or -S just
results in a process appearing to wait for input.
The interpreter/bin/py looks like this:
-----------------------------------------------------
#!/private/var/folders/KA/KAXdMSFEHom0r8QU1jW-Jk+++TI/-Tmp-/tmpcsUDSybuildoutSetUp/_TEST_/executable_buildout/bin/py
-S
import os
import sys
argv = [sys.executable] + sys.argv[1:]
environ = os.environ.copy()
path =
'/private/var/folders/KA/KAXdMSFEHom0r8QU1jW-Jk+++TI/-Tmp-/tmpcsUDSybuildoutSetUp/_TEST_/interpreter/parts/interpreter'
if environ.get('PYTHONPATH'):
path = os.pathsep.join([path, environ['PYTHONPATH']])
environ['PYTHONPATH'] = path
os.execve(sys.executable, argv, environ)
-----------------------------------------------------
This is somehow wrong: even adding a print statement on line 2 gives:
line 2: print: command not found
The .../_TEST_/executable_buildout/bin/py that is called by the above
script works fine:
-----------------------------------------------------
#!/Users/mauritsvanrees/py/clean/py266/bin/python -S
import os
import sys
argv = [sys.executable] + sys.argv[1:]
environ = os.environ.copy()
path =
'/private/var/folders/KA/KAXdMSFEHom0r8QU1jW-Jk+++TI/-Tmp-/tmpcsUDSybuildoutSetUp/_TEST_/executable_buildout/parts/py'
if environ.get('PYTHONPATH'):
path = os.pathsep.join([path, environ['PYTHONPATH']])
environ['PYTHONPATH'] = path
os.execve(sys.executable, argv, environ)
-----------------------------------------------------
BTW, when I run the zc.recipe.egg tests on their own, the 5 tests pass.
On zc.buildout branch 1.4 the tests do finish, but with 3 failures, the
first of which are these:
----------------------------------------------------------------------
File
"/Users/mauritsvanrees/buildout/zc.buildout/1.4/src/zc/buildout/buildout.txt",
line 578, in buildout.txt
Failed example:
wait_until("foo goes away", lambda : not os.path.exists('foo'),
timeout=100)
Exception raised:
Traceback (most recent call last):
File
"/Users/mauritsvanrees/buildout/zc.buildout/1.4/eggs/zope.testing-3.10.2-py2.6.egg/zope/testing/doctest/__init__.py",
line 1355, in __run
compileflags, 1) in test.globs
File "", line 2, in
<module>
timeout=100)
File
"/Users/mauritsvanrees/buildout/zc.buildout/1.4/src/zc/buildout/testing.py",
line 203, in wait_until
raise ValueError('Timed out waiting for: '+label)
ValueError: Timed out waiting for: foo goes away
----------------------------------------------------------------------
File
"/Users/mauritsvanrees/buildout/zc.buildout/1.4/src/zc/buildout/buildout.txt",
line 583, in buildout.txt
Failed example:
os.path.exists('foo')
Expected:
False
Got:
True
----------------------------------------------------------------------
The other failures seem related.
The zc.recipe.egg (1.2.2) tests fail with some minor differences in
generated scripts:
Expected:
base = os.path.dirname(__file__)
Got:
base = os.path.dirname(os.path.abspath(os.path.realpath(__file__)))
BTW, somehow the zc.recipe.egg_ directory is not used as a development
egg, but the official 1.2.2 egg is used, even though
develop-eggs/zc.recipe.egg.egg-link seems fine.
Are others getting these failures too?
If not, any idea what could cause them on my machine?
Sorry for the long post. If possible, please avoid quoting the complete
post when answering.
--
Maurits van Rees
Web App Programmer at Zest Software: http://zestsoftware.nl
Personal website: http://maurits.vanrees.org/