summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-06-20 09:54:32 (GMT)
committerGitHub <noreply@github.com>2018-06-20 09:54:32 (GMT)
commit2b7574213987ddcbc5e83c6798668c7d600b6608 (patch)
tree4fd1eaff6110deef455e3c96ce54a1affdd60403
parent17d4c53fa3516f78df3c4f343bc6d2007af157cf (diff)
downloadcpython-2b7574213987ddcbc5e83c6798668c7d600b6608.zip
cpython-2b7574213987ddcbc5e83c6798668c7d600b6608.tar.gz
cpython-2b7574213987ddcbc5e83c6798668c7d600b6608.tar.bz2
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. (cherry picked from commit fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844) Co-authored-by: Victor Stinner <vstinner@redhat.com>
-rw-r--r--Lib/unittest/test/test_break.py15
-rw-r--r--Misc/NEWS.d/next/Tests/2018-06-19-17-55-46.bpo-33746.Sz7avn.rst1
2 files changed, 7 insertions, 9 deletions
diff --git a/Lib/unittest/test/test_break.py b/Lib/unittest/test/test_break.py
index 2c75019..898056f 100644
--- a/Lib/unittest/test/test_break.py
+++ b/Lib/unittest/test/test_break.py
@@ -41,16 +41,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)
diff --git a/Misc/NEWS.d/next/Tests/2018-06-19-17-55-46.bpo-33746.Sz7avn.rst b/Misc/NEWS.d/next/Tests/2018-06-19-17-55-46.bpo-33746.Sz7avn.rst
new file mode 100644
index 0000000..e79399f
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2018-06-19-17-55-46.bpo-33746.Sz7avn.rst
@@ -0,0 +1 @@
+Fix test_unittest when run in verbose mode.