Hi! On Tue, Apr 22, 2008 at 03:49:07PM -0700, Timothy Selivanow wrote:
I'm getting a Traceback when running `python setup.py test` for ZConfig-2.5.1 as per the changelog. Attached is the output, let me know how I can help. I'm not a proficient python programmer; however, I'm more than willing to learn more.
...
test_undefined_names (ZConfig.tests.test_subst.SubstitutionTestCase) ... ok [?1034hTraceback (most recent call last): File "setup.py", line 47, in <module> 'zope.testing', File "/usr/lib64/python2.5/distutils/core.py", line 151, in setup dist.run_commands() File "/usr/lib64/python2.5/distutils/dist.py", line 974, in run_commands self.run_command(cmd) File "/usr/lib64/python2.5/distutils/dist.py", line 994, in run_command cmd_obj.run() File "/usr/lib/python2.5/site-packages/setuptools/command/test.py", line 119, in run self.with_project_on_sys_path(self.run_tests) File "/usr/lib/python2.5/site-packages/setuptools/command/test.py", line 101, in with_project_on_sys_path func() File "/usr/lib/python2.5/site-packages/setuptools/command/test.py", line 130, in run_tests testLoader = loader_class() File "/usr/lib64/python2.5/unittest.py", line 768, in __init__ self.runTests() File "/usr/lib64/python2.5/unittest.py", line 805, in runTests result = self.testRunner.run(self.test) File "/usr/lib64/python2.5/unittest.py", line 705, in run test(result) File "/usr/lib64/python2.5/unittest.py", line 437, in __call__ return self.run(*args, **kwds) File "/usr/lib64/python2.5/unittest.py", line 433, in run test(result) File "/usr/lib64/python2.5/unittest.py", line 437, in __call__ return self.run(*args, **kwds) File "/usr/lib64/python2.5/unittest.py", line 433, in run test(result) File "/usr/lib64/python2.5/unittest.py", line 281, in __call__ return self.run(*args, **kwds) File "/usr/lib64/python2.5/unittest.py", line 247, in run result.startTest(self) File "/usr/lib64/python2.5/unittest.py", line 649, in startTest self.stream.write(self.getDescription(test)) File "/usr/lib64/python2.5/unittest.py", line 642, in getDescription return test.shortDescription() or str(test) File "/usr/lib64/python2.5/unittest.py", line 232, in shortDescription doc = self._testMethodDoc AttributeError: 'StartUpFailure' object has no attribute '_testMethodDoc'
StartUpFailure is, I believe, a test-like object the zope.testing testrunner uses to indicate one of the test modules couldn't be imported (most likely because of a missing dependency). It subclasses unittest.TestCase, but doesn't call the inherited __init__, which, in both Python 2.4 and 2.5, initializes the _testMethodDoc attribute. In other words you have found a bug in zope.testing's bug reporting code. By the way, the usual way to run tests in the Zope-3-land is to use bin/test rather than setup.py test. It uses a slightly different test runner that uses a slightly different method of getting the test description and therefore hides this incompatibility. Which probably explains why nobody saw it before. On the other hand, compatibility with setup.py test is desirable, and this bug should be fixed. https://bugs.launchpad.net/zope.testing/+bug/221151 The next step would be to write a unit test to reproduce this in zope.testing's test suite. Marius Gedminas -- How much net work could a network work, if a network could net work?