From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:17:20 +0000 (-0700) Subject: [3.12] gh-110393: Remove watchdog with hardcoded timeout (GH-110400) (#110445) X-Git-Tag: v3.12.1~364 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1b589850774e6386d7c04fd113a0879afa21f07c;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-110393: Remove watchdog with hardcoded timeout (GH-110400) (#110445) gh-110393: Remove watchdog with hardcoded timeout (GH-110400) test_builtin and test_socketserver no longer use signal.alarm() to implement a watchdog with a hardcoded timeout (2 and 60 seconds). Python test runner regrtest has two watchdogs: faulthandler and timeout on running worker processes. Tests using short hardcoded timeout can fail on slowest buildbots just because the timeout is too short. (cherry picked from commit 1328fa31fe9c72748fc6fd11d017c82aafd48a49) Co-authored-by: Victor Stinner --- diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index daac1008829b..78d5354f9cd1 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -2178,8 +2178,6 @@ class PtyTests(unittest.TestCase): if pid == 0: # Child try: - # Make sure we don't get stuck if there's a problem - signal.alarm(2) os.close(r) with open(w, "w") as wpipe: child(wpipe) diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py index c81d559cde31..0f62f9eb200e 100644 --- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -32,11 +32,6 @@ requires_unix_sockets = unittest.skipUnless(HAVE_UNIX_SOCKETS, HAVE_FORKING = test.support.has_fork_support requires_forking = unittest.skipUnless(HAVE_FORKING, 'requires forking') -def signal_alarm(n): - """Call signal.alarm when it exists (i.e. not on Windows).""" - if hasattr(signal, 'alarm'): - signal.alarm(n) - # Remember real select() to avoid interferences with mocking _real_select = select.select @@ -68,12 +63,10 @@ class SocketServerTest(unittest.TestCase): """Test all socket servers.""" def setUp(self): - signal_alarm(60) # Kill deadlocks after 60 seconds. self.port_seed = 0 self.test_files = [] def tearDown(self): - signal_alarm(0) # Didn't deadlock. reap_children() for fn in self.test_files: