summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-06-27 21:14:53 (GMT)
committerGitHub <noreply@github.com>2018-06-27 21:14:53 (GMT)
commit1d06be8cc55715be8c32ec3b462adfb3a7839dfe (patch)
treec50b865b9c3e9bfbc9dd80858b4fa4ecd0d8d486
parenta599323fc7661668a01e9fbb0d2369e62941bdf1 (diff)
downloadcpython-1d06be8cc55715be8c32ec3b462adfb3a7839dfe.zip
cpython-1d06be8cc55715be8c32ec3b462adfb3a7839dfe.tar.gz
cpython-1d06be8cc55715be8c32ec3b462adfb3a7839dfe.tar.bz2
bpo-33913: Fix test_multiprocessing_main_handling (GH-7972) (GH-7976)
bpo-30339, bpo-33913: * Increase timeout from 10 seconds to 1 minute in test_source_main_skipped_in_children source of test_multiprocessing_main_handling. * Replace time.time() with time.monotonic(). * On timeout, include the duration in the error message. (cherry picked from commit 64737e9ae2081e529935ecf07f44e89f362d1c4b)
-rw-r--r--Lib/test/test_multiprocessing_main_handling.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/Lib/test/test_multiprocessing_main_handling.py b/Lib/test/test_multiprocessing_main_handling.py
index 32593da..e1b8d30 100644
--- a/Lib/test/test_multiprocessing_main_handling.py
+++ b/Lib/test/test_multiprocessing_main_handling.py
@@ -58,11 +58,13 @@ if __name__ == '__main__':
p = Pool(5)
results = []
p.map_async(f, [1, 2, 3], callback=results.extend)
- deadline = time.time() + 10 # up to 10 s to report the results
+ start_time = time.monotonic()
while not results:
time.sleep(0.05)
- if time.time() > deadline:
- raise RuntimeError("Timed out waiting for results")
+ # up to 1 min to report the results
+ dt = time.monotonic() - start_time
+ if dt > 60.0:
+ raise RuntimeError("Timed out waiting for results (%.1f sec)" % dt)
results.sort()
print(start_method, "->", results)
"""
@@ -86,11 +88,13 @@ set_start_method(start_method)
p = Pool(5)
results = []
p.map_async(int, [1, 4, 9], callback=results.extend)
-deadline = time.time() + 10 # up to 10 s to report the results
+start_time = time.monotonic()
while not results:
time.sleep(0.05)
- if time.time() > deadline:
- raise RuntimeError("Timed out waiting for results")
+ # up to 1 min to report the results
+ dt = time.monotonic() - start_time
+ if dt > 60.0:
+ raise RuntimeError("Timed out waiting for results (%.1f sec)" % dt)
results.sort()
print(start_method, "->", results)
"""