From: Nick Coghlan Date: Sat, 3 Aug 2013 12:56:30 +0000 (+1000) Subject: Close #18396: fix spurious test_signal failure on Windows X-Git-Tag: v3.4.0a1~4^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60b3ac7482aa7ca4e6f0f66792160d38b48d1914;p=thirdparty%2FPython%2Fcpython.git Close #18396: fix spurious test_signal failure on Windows signal.getsignal returns None for some signals if faulthandler is enabled (Patch by Jeremy Kloth) --- diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py index 1ef764332449..9b4ba5016ee4 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -209,11 +209,17 @@ class WindowsSignalTests(unittest.TestCase): def test_issue9324(self): # Updated for issue #10003, adding SIGBREAK handler = lambda x, y: None + checked = set() for sig in (signal.SIGABRT, signal.SIGBREAK, signal.SIGFPE, signal.SIGILL, signal.SIGINT, signal.SIGSEGV, signal.SIGTERM): - # Set and then reset a handler for signals that work on windows - signal.signal(sig, signal.signal(sig, handler)) + # Set and then reset a handler for signals that work on windows. + # Issue #18396, only for signals without a C-level handler. + if signal.getsignal(sig) is not None: + signal.signal(sig, signal.signal(sig, handler)) + checked.add(sig) + # Issue #18396: Ensure the above loop at least tested *something* + self.assertTrue(checked) with self.assertRaises(ValueError): signal.signal(-1, handler) diff --git a/Misc/NEWS b/Misc/NEWS index 98357a4411bd..bd856962e047 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -230,6 +230,9 @@ IDLE Tests ----- +- Issue #18396: Fix spurious test failure in test_signal on Windows when + faulthandler is enabled (Patch by Jeremy Kloth) + - Issue #17046: Fix broken test_executable_without_cwd in test_subprocess. - Issue #15415: Add new temp_dir() and change_cwd() context managers to