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.


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?

Attachment: signature.asc
Description: Digital signature

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to