diff --git a/Lib/unittest/suite.py b/Lib/unittest/suite.py index e8fbdc31fed..c0ae2aeeb66 100644 --- a/Lib/unittest/suite.py +++ b/Lib/unittest/suite.py @@ -107,6 +107,7 @@ class TestSuite(BaseTestSuite): 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 d212bd05dc4..72fb527a685 100644 --- a/Lib/unittest/test/test_suite.py +++ b/Lib/unittest/test/test_suite.py @@ -353,11 +353,15 @@ class Test_TestSuite(unittest.TestCase, TestEquality): 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()