[Zope-dev] ZConfig 2.5.1 test failures

Marius Gedminas mgedmin at b4net.lt
Wed Apr 23 15:38:49 EDT 2008


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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20080423/ace1a225/attachment.bin


More information about the Zope-Dev mailing list