Merged revisions 80997 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80997 | michael.foord | 2010-05-08 19:06:25 +0200 (Sat, 08 May 2010) | 1 line

  unittest: issue 8301. Adding functions to test suites no longer crashes.
........
This commit is contained in:
Michael Foord 2010-05-08 17:10:05 +00:00
parent 06507eb791
commit 73162197aa
2 changed files with 19 additions and 1 deletions

View File

@ -116,7 +116,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:

View File

@ -289,3 +289,16 @@ class Test_TestSuite(unittest.TestCase, TestEquality):
def test_addTests__string(self): def test_addTests__string(self):
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__':
unittest.main()