New submission from R. David Murray <[email protected]>:
Working from the example in the docs, I wrote a test suite like this:
def load_tests(loader, standard_tests, pattern):
for case in email.test.emailtestdb.populated_test_cases(globals()):
standard_tests.addTests(loader.loadFromTestCase(case))
return standard_test
This resulted in the exception:
Traceback (most recent call last):
File "/home/rdmurray/python/bzr/email6-local/Lib/test/regrtest.py", line 857,
in runtest_inner
indirect_test()
File "/home/rdmurray/python/bzr/email6-local/Lib/test/test_email.py", line
10, in test_main
tests = unittest.defaultTestLoader.discover(testdir, top_level_dir=libdir)
File "/home/rdmurray/python/bzr/email6-local/Lib/unittest/loader.py", line
179, in discover
return self.suiteClass(tests)
File "/home/rdmurray/python/bzr/email6-local/Lib/unittest/suite.py", line 18,
in __init__
self.addTests(tests)
File "/home/rdmurray/python/bzr/email6-local/Lib/unittest/suite.py", line 54,
in addTests
self.addTest(test)
File "/home/rdmurray/python/bzr/email6-local/Lib/unittest/suite.py", line 43,
in addTest
raise TypeError("{} is not callable".format(test))
TypeError: [<unittest.suite.TestSuite tests=[]>, <unittest.suite.TestSuite
tests=[]>, <unittest.suite.TestSuite tests=[]>] is not callable
(Well, that's after I enhanced the normal error message, which just says that
'test must be a callable')
I see that loadTestsFromModule wraps what is passes as standard_tests in
self.suiteClass before returning it, whereas it returns whatever load_tests
returns directly. Perhaps the wrapping needs to be done in both cases, or
perhaps standard_tests should be wrapped before being passed to the module's
load_tests?
My load_tests is a function in a test module, not a package __init__.
----------
components: Library (Lib)
keywords: easy
messages: 98469
nosy: r.david.murray
priority: normal
severity: normal
stage: test needed
status: open
title: unittest returning standard_tests from load_tests in module fails
versions: Python 2.7, Python 3.2
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue7799>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com