From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Aug 2020 14:01:14 +0000 (-0700) Subject: bpo-41514: Fix buggy IDLE test (GH-21808) X-Git-Tag: v3.8.6rc1~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=860bc0ea70c365825bfd9b7de7685cf6842ca3c7;p=thirdparty%2FPython%2Fcpython.git bpo-41514: Fix buggy IDLE test (GH-21808) test_run method test_fatal_error failed when run twice, as with python -m test -m test_fatal_error test_idle test_idle because func.called was not reinitialized to 0. This bug caused a failure on a refleak buildbot. (cherry picked from commit 416f0b71ba84fe83ee2ba4399b8a28712702980b) Co-authored-by: Terry Jan Reedy --- diff --git a/Lib/idlelib/idle_test/test_run.py b/Lib/idlelib/idle_test/test_run.py index 469c13d756d5..37c0d4525e56 100644 --- a/Lib/idlelib/idle_test/test_run.py +++ b/Lib/idlelib/idle_test/test_run.py @@ -326,11 +326,11 @@ class RecursionLimitTest(unittest.TestCase): class HandleErrorTest(unittest.TestCase): # Method of MyRPCServer - func = Func() - @mock.patch('idlelib.run.thread.interrupt_main', new=func) - def test_error(self): + def test_fatal_error(self): eq = self.assertEqual - with captured_output('__stderr__') as err: + with captured_output('__stderr__') as err,\ + mock.patch('idlelib.run.thread.interrupt_main', + new_callable=Func) as func: try: raise EOFError except EOFError: @@ -349,7 +349,7 @@ class HandleErrorTest(unittest.TestCase): self.assertIn('abc', msg) self.assertIn('123', msg) self.assertIn('IndexError', msg) - eq(self.func.called, 2) + eq(func.called, 2) if __name__ == '__main__': unittest.main(verbosity=2)