[Python-checkins] cpython (3.3): Close #18396: fix spurious test_signal failure on Windows

nick.coghlan python-checkins at python.org
Sat Aug 3 15:03:41 CEST 2013


http://hg.python.org/cpython/rev/b7834800562f
changeset:   84984:b7834800562f
branch:      3.3
parent:      84980:f37b336bfbca
user:        Nick Coghlan <ncoghlan at gmail.com>
date:        Sat Aug 03 22:56:30 2013 +1000
summary:
  Close #18396: fix spurious test_signal failure on Windows

signal.getsignal returns None for some signals if faulthandler
is enabled (Patch by Jeremy Kloth)

files:
  Lib/test/test_signal.py |  10 ++++++++--
  Misc/NEWS               |   3 +++
  2 files changed, 11 insertions(+), 2 deletions(-)


diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -209,11 +209,17 @@
     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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -230,6 +230,9 @@
 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

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list