[Python-checkins] bpo-33746: Fix test_unittest.testRegisterResult() in verbose mode (GH-7799)

Victor Stinner webhook-mailer at python.org
Wed Jun 20 05:29:42 EDT 2018


https://github.com/python/cpython/commit/fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844
commit: fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844
branch: master
author: Victor Stinner <vstinner at redhat.com>
committer: GitHub <noreply at github.com>
date: 2018-06-20T11:29:33+02:00
summary:

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.

files:
A Misc/NEWS.d/next/Tests/2018-06-19-17-55-46.bpo-33746.Sz7avn.rst
M Lib/unittest/test/test_break.py

diff --git a/Lib/unittest/test/test_break.py b/Lib/unittest/test/test_break.py
index aa2c69eea01a..eebd2b610ce1 100644
--- a/Lib/unittest/test/test_break.py
+++ b/Lib/unittest/test/test_break.py
@@ -39,16 +39,13 @@ def testInstallHandler(self):
 
     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 000000000000..e79399f03be5
--- /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.



More information about the Python-checkins mailing list