unittest: issue 8301. Adding functions to test suites no longer crashes.
This commit is contained in:
parent
7daf0e4aa1
commit
9c164af6c3
|
@ -119,7 +119,12 @@ class TestSuite(BaseTestSuite):
|
||||||
if getattr(currentClass, "__unittest_skip__", False):
|
if getattr(currentClass, "__unittest_skip__", False):
|
||||||
return
|
return
|
||||||
|
|
||||||
currentClass._classSetupFailed = False
|
try:
|
||||||
|
currentClass._classSetupFailed = False
|
||||||
|
except TypeError:
|
||||||
|
# test may actually be a function
|
||||||
|
# so its class will be a builtin-type
|
||||||
|
pass
|
||||||
|
|
||||||
setUpClass = getattr(currentClass, 'setUpClass', None)
|
setUpClass = getattr(currentClass, 'setUpClass', None)
|
||||||
if setUpClass is not None:
|
if setUpClass is not None:
|
||||||
|
|
|
@ -290,6 +290,15 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
|
||||||
suite = unittest.TestSuite()
|
suite = unittest.TestSuite()
|
||||||
self.assertRaises(TypeError, suite.addTests, "foo")
|
self.assertRaises(TypeError, suite.addTests, "foo")
|
||||||
|
|
||||||
|
def test_function_in_suite(self):
|
||||||
|
def f(_):
|
||||||
|
pass
|
||||||
|
suite = unittest.TestSuite()
|
||||||
|
suite.addTest(f)
|
||||||
|
|
||||||
|
# when the bug is fixed this line will not crash
|
||||||
|
suite.run(unittest.TestResult())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Reference in New Issue