Improvement to fix for issue 9926 to allow TestResult to be reused.
diff --git a/Lib/unittest/suite.py b/Lib/unittest/suite.py
index e8fbdc3..c0ae2ae 100644
--- a/Lib/unittest/suite.py
+++ b/Lib/unittest/suite.py
@@ -107,6 +107,7 @@
if topLevel:
self._tearDownPreviousClass(None, result)
self._handleModuleTearDown(result)
+ result._testRunEntered = False
return result
def debug(self):
diff --git a/Lib/unittest/test/test_suite.py b/Lib/unittest/test/test_suite.py
index d212bd0..72fb527 100644
--- a/Lib/unittest/test/test_suite.py
+++ b/Lib/unittest/test/test_suite.py
@@ -353,11 +353,15 @@
unittest.TestSuite.__call__(self, *args, **kw)
suite = MySuite()
+ result = unittest.TestResult()
wrapper = unittest.TestSuite()
wrapper.addTest(suite)
- wrapper(unittest.TestResult())
+ wrapper(result)
self.assertTrue(suite.called)
+ # reusing results should be permitted even if abominable
+ self.assertFalse(result._testRunEntered)
+
if __name__ == '__main__':
unittest.main()