]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Tests call sleeping_retry() with SHORT_TIMEOUT (#93870)
authorVictor Stinner <vstinner@python.org>
Wed, 15 Jun 2022 16:49:14 +0000 (18:49 +0200)
committerGitHub <noreply@github.com>
Wed, 15 Jun 2022 16:49:14 +0000 (18:49 +0200)
Tests now call busy_retry() and sleeping_retry() with SHORT_TIMEOUT
or LONG_TIMEOUT (of test.support), rather than hardcoded constants.

Add also WAIT_ACTIVE_CHILDREN_TIMEOUT constant to
_test_multiprocessing.

Lib/test/_test_eintr.py
Lib/test/_test_multiprocessing.py
Lib/test/test_asyncore.py
Lib/test/test_concurrent_futures.py
Lib/test/test_multiprocessing_main_handling.py
Lib/test/test_signal.py

index ca637b29063326d30c270f2f8f1ce9653db5e7bf..006581f7cc6a9a990a64859d824ffd6f2462dd83 100644 (file)
@@ -497,7 +497,7 @@ class FNTLEINTRTest(EINTRBaseTest):
             with open(os_helper.TESTFN, 'wb') as f:
                 # synchronize the subprocess
                 start_time = time.monotonic()
-                for _ in support.sleeping_retry(60.0, error=False):
+                for _ in support.sleeping_retry(support.LONG_TIMEOUT, error=False):
                     try:
                         lock_func(f, fcntl.LOCK_EX | fcntl.LOCK_NB)
                         lock_func(f, fcntl.LOCK_UN)
index dca5a19d2ed62037e409b78e2b3d0055e2028a4c..b20bc0b08015d34d17454828a501afc4e5bd3f16 100644 (file)
@@ -124,6 +124,8 @@ else:
 # BaseManager.shutdown_timeout
 SHUTDOWN_TIMEOUT = support.SHORT_TIMEOUT
 
+WAIT_ACTIVE_CHILDREN_TIMEOUT = 5.0
+
 HAVE_GETVALUE = not getattr(_multiprocessing,
                             'HAVE_BROKEN_SEM_GETVALUE', False)
 
@@ -5569,8 +5571,9 @@ class TestSyncManagerTypes(unittest.TestCase):
         # if there are other children too (see #17395).
         join_process(self.proc)
 
+        timeout = WAIT_ACTIVE_CHILDREN_TIMEOUT
         start_time = time.monotonic()
-        for _ in support.sleeping_retry(5.0, error=False):
+        for _ in support.sleeping_retry(timeout, error=False):
             if len(multiprocessing.active_children()) <= 1:
                 break
         else:
@@ -5875,8 +5878,9 @@ class ManagerMixin(BaseMixin):
         # only the manager process should be returned by active_children()
         # but this can take a bit on slow machines, so wait a few seconds
         # if there are other children too (see #17395)
+        timeout = WAIT_ACTIVE_CHILDREN_TIMEOUT
         start_time = time.monotonic()
-        for _ in support.sleeping_retry(5.0, error=False):
+        for _ in support.sleeping_retry(timeout, error=False):
             if len(multiprocessing.active_children()) <= 1:
                 break
         else:
index dd6b3a3648e6b95f9068b2727b843e30d4712d5f..7d3e2011189a5fbad9af83f4b91c3b7a552f0e20 100644 (file)
@@ -76,7 +76,7 @@ def capture_server(evt, buf, serv):
         pass
     else:
         n = 200
-        for _ in support.busy_retry(3.0, error=False):
+        for _ in support.busy_retry(support.SHORT_TIMEOUT, error=False):
             r, w, e = select.select([conn], [], [], 0.1)
             if r:
                 n -= 1
index c12165366bb2518a1979f8e85a939568778a14d1..f50255bd575601ba18920c7c01f9a94d86a25b63 100644 (file)
@@ -258,7 +258,8 @@ class FailingInitializerMixin(ExecutorMixin):
                     future.result()
 
             # At some point, the executor should break
-            for _ in support.sleeping_retry(5, "executor not broken"):
+            for _ in support.sleeping_retry(support.SHORT_TIMEOUT,
+                                            "executor not broken"):
                 if self.executor._broken:
                     break
 
index 35e9cd64fa6c01c3b77d30dd6c1bbff6a57c93db..6b30a89316703b81d81883b3db24d317b9905811 100644 (file)
@@ -62,7 +62,8 @@ if __name__ == '__main__':
         pool.map_async(f, [1, 2, 3], callback=results.extend)
 
         # up to 1 min to report the results
-        for _ in support.sleeping_retry(60, "Timed out waiting for results"):
+        for _ in support.sleeping_retry(support.LONG_TIMEOUT,
+                                        "Timed out waiting for results"):
             if results:
                 break
 
@@ -93,7 +94,8 @@ results = []
 with Pool(5) as pool:
     pool.map_async(int, [1, 4, 9], callback=results.extend)
     # up to 1 min to report the results
-    for _ in support.sleeping_retry(60, "Timed out waiting for results"):
+    for _ in support.sleeping_retry(support.LONG_TIMEOUT,
+                                    "Timed out waiting for results"):
         if results:
             break
 
index a1d074a56cf656e677cbe823ceb3d2dae51a7268..2e115f45be4727192e5520666a12b754bf4cb9ad 100644 (file)
@@ -812,7 +812,7 @@ class ItimerTest(unittest.TestCase):
         signal.signal(signal.SIGVTALRM, self.sig_vtalrm)
         signal.setitimer(self.itimer, 0.3, 0.2)
 
-        for _ in support.busy_retry(60.0, error=False):
+        for _ in support.busy_retry(support.LONG_TIMEOUT, error=False):
             # use up some virtual time by doing real work
             _ = pow(12345, 67890, 10000019)
             if signal.getitimer(self.itimer) == (0.0, 0.0):
@@ -833,7 +833,7 @@ class ItimerTest(unittest.TestCase):
         signal.signal(signal.SIGPROF, self.sig_prof)
         signal.setitimer(self.itimer, 0.2, 0.2)
 
-        for _ in support.busy_retry(60.0, error=False):
+        for _ in support.busy_retry(support.LONG_TIMEOUT, error=False):
             # do some work
             _ = pow(12345, 67890, 10000019)
             if signal.getitimer(self.itimer) == (0.0, 0.0):