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

Miss Islington (bot) webhook-mailer at python.org
Wed Jun 20 05:54:35 EDT 2018


https://github.com/python/cpython/commit/2b7574213987ddcbc5e83c6798668c7d600b6608
commit: 2b7574213987ddcbc5e83c6798668c7d600b6608
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-06-20T02:54:32-07: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.
(cherry picked from commit fd8fbce495c32b0cbc13f71a8e9d4eec6f48c844)

Co-authored-by: Victor Stinner <vstinner at redhat.com>

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 2c7501952c7e..898056fa9989 100644
--- a/Lib/unittest/test/test_break.py
+++ b/Lib/unittest/test/test_break.py
@@ -41,16 +41,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