diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-06-20 11:29:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-20 11:29:33 +0200 |
commit | fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844 (patch) | |
tree | f640fd19ae0816fe2bb9baf66174da3ccd2476a5 /Lib/unittest/test/test_break.py | |
parent | 9bb92235f6272b28d59fcbd04f101fdc6b1bbc50 (diff) | |
download | cpython-git-fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844.tar.gz |
bpo-33746: Fix test_unittest.testRegisterResult() in verbose mode (GH-7799)
Only make sure that the result is in unittest.signals._results, don't
check the full content of unittest.signals._results.
support._run_suite() uses TextTestRunner in verbose mode, but
TextTestRunner.run() calls registerResult(result) which made the test
fail with "odd object in result set".
Call also removeResult() to restore unittest.signals._results to
avoid test side effect.
Diffstat (limited to 'Lib/unittest/test/test_break.py')
-rw-r--r-- | Lib/unittest/test/test_break.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/Lib/unittest/test/test_break.py b/Lib/unittest/test/test_break.py index aa2c69eea0..eebd2b610c 100644 --- a/Lib/unittest/test/test_break.py +++ b/Lib/unittest/test/test_break.py @@ -39,16 +39,13 @@ class TestBreak(unittest.TestCase): def testRegisterResult(self): result = unittest.TestResult() - unittest.registerResult(result) - - for ref in unittest.signals._results: - if ref is result: - break - elif ref is not result: - self.fail("odd object in result set") - else: - self.fail("result not found") + self.assertNotIn(result, unittest.signals._results) + unittest.registerResult(result) + try: + self.assertIn(result, unittest.signals._results) + finally: + unittest.removeResult(result) def testInterruptCaught(self): default_handler = signal.getsignal(signal.SIGINT) |