[Python-checkins] bpo-33913: Fix test_multiprocessing_main_handling (GH-7972)

Miss Islington (bot) webhook-mailer at python.org
Wed Jun 27 16:41:42 EDT 2018


https://github.com/python/cpython/commit/4b1d286ac06f32a5857af1b3141dd4127744b15b
commit: 4b1d286ac06f32a5857af1b3141dd4127744b15b
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-06-27T13:41:39-07:00
summary:

bpo-33913: Fix test_multiprocessing_main_handling (GH-7972)


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)

Co-authored-by: Victor Stinner <vstinner at redhat.com>

files:
M Lib/test/test_multiprocessing_main_handling.py

diff --git a/Lib/test/test_multiprocessing_main_handling.py b/Lib/test/test_multiprocessing_main_handling.py
index fd93184914ae..9fd5c9fcd91f 100644
--- a/Lib/test/test_multiprocessing_main_handling.py
+++ b/Lib/test/test_multiprocessing_main_handling.py
@@ -57,11 +57,13 @@ def f(x):
     p = Pool(5)
     results = []
     p.map_async(f, [1, 2, 3], callback=results.extend)
-    deadline = time.time() + 60 # up to 60 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)
 """
@@ -85,11 +87,13 @@ def f(x):
 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)
 """



More information about the Python-checkins mailing list