]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-109960: Remove test_pty timeout of 10 seconds (GH-110058) (#110061)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 29 Sep 2023 00:30:38 +0000 (17:30 -0700)
committerGitHub <noreply@github.com>
Fri, 29 Sep 2023 00:30:38 +0000 (00:30 +0000)
gh-109960: Remove test_pty timeout of 10 seconds (GH-110058)

In 2003, test_pty got a hardcoded timeout of 10 seconds to prevent
hanging on AIX & HPUX "if run after test_openpty":
commit 7d8145268ee282f14d6adce9305dc3c1c7ffec14. Since 2003, test_pty
was no longer reported to hang on AIX. But today, the test can fail
simply because a CI is busy running other tests in parallel.
The timeout of 10 seconds is no longer needed, just remove it.
Moreover, regrtest now has multiple built-in generic timeout
mecanisms.
(cherry picked from commit 5fdcea744024c8a19ddb57057bf5ec2889546c98)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/test_pty.py

index c9c2b42861c6f4f33af0a0a18e94af820ec8194f..a971f6b0250efba90fe1801163f4d9cb0a8eb097 100644 (file)
@@ -80,17 +80,9 @@ def expectedFailureIfStdinIsTTY(fun):
 # because pty code is not too portable.
 class PtyTest(unittest.TestCase):
     def setUp(self):
-        old_alarm = signal.signal(signal.SIGALRM, self.handle_sig)
-        self.addCleanup(signal.signal, signal.SIGALRM, old_alarm)
-
         old_sighup = signal.signal(signal.SIGHUP, self.handle_sighup)
         self.addCleanup(signal.signal, signal.SIGHUP, old_sighup)
 
-        # isatty() and close() can hang on some platforms. Set an alarm
-        # before running the test to make sure we don't hang forever.
-        self.addCleanup(signal.alarm, 0)
-        signal.alarm(10)
-
         # Save original stdin window size.
         self.stdin_dim = None
         if _HAVE_WINSZ:
@@ -101,9 +93,6 @@ class PtyTest(unittest.TestCase):
             except tty.error:
                 pass
 
-    def handle_sig(self, sig, frame):
-        self.fail("isatty hung")
-
     @staticmethod
     def handle_sighup(signum, frame):
         pass