[Python-checkins] r80997 - in python/trunk/Lib/unittest: suite.py test/test_suite.py
michael.foord
python-checkins at python.org
Sat May 8 19:06:25 CEST 2010
Author: michael.foord
Date: Sat May 8 19:06:25 2010
New Revision: 80997
Log:
unittest: issue 8301. Adding functions to test suites no longer crashes.
Modified:
python/trunk/Lib/unittest/suite.py
python/trunk/Lib/unittest/test/test_suite.py
Modified: python/trunk/Lib/unittest/suite.py
==============================================================================
--- python/trunk/Lib/unittest/suite.py (original)
+++ python/trunk/Lib/unittest/suite.py Sat May 8 19:06:25 2010
@@ -119,7 +119,12 @@
if getattr(currentClass, "__unittest_skip__", False):
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)
if setUpClass is not None:
Modified: python/trunk/Lib/unittest/test/test_suite.py
==============================================================================
--- python/trunk/Lib/unittest/test/test_suite.py (original)
+++ python/trunk/Lib/unittest/test/test_suite.py Sat May 8 19:06:25 2010
@@ -290,6 +290,15 @@
suite = unittest.TestSuite()
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()
More information about the Python-checkins
mailing list