diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 1474624..887f8ee 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -3801,6 +3801,7 @@ class _TestSharedMemory(BaseTestCase): sms.close() @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms") + @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") def test_shared_memory_SharedMemoryServer_ignores_sigint(self): # bpo-36368: protect SharedMemoryManager server process from # KeyboardInterrupt signals. diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py index d41e94b..a1c15e7 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -78,6 +78,7 @@ class PosixTests(unittest.TestCase): self.assertLess(len(s), signal.NSIG) @unittest.skipUnless(sys.executable, "sys.executable required.") + @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") def test_keyboard_interrupt_exit_code(self): """KeyboardInterrupt triggers exit via SIGINT.""" process = subprocess.run( @@ -128,6 +129,7 @@ class WindowsSignalTests(unittest.TestCase): signal.signal(7, handler) @unittest.skipUnless(sys.executable, "sys.executable required.") + @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") def test_keyboard_interrupt_exit_code(self): """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT.""" # We don't test via os.kill(os.getpid(), signal.CTRL_C_EVENT) here @@ -1245,6 +1247,7 @@ class StressTest(unittest.TestCase): class RaiseSignalTest(unittest.TestCase): + @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") def test_sigint(self): with self.assertRaises(KeyboardInterrupt): signal.raise_signal(signal.SIGINT) -- 2.23.0