Issue #19946: use public API for multiprocessing start methods

This should appease the OpenIndiana buildbot.

Also lengthened the worst case timeout to try to eliminate
the inconsistent failure on one of the Windows 7 buildbots.
This commit is contained in:
Nick Coghlan 2013-12-20 22:14:03 +10:00
parent 9ba75db3c5
commit 05385292e9
1 changed files with 6 additions and 6 deletions

View File

@ -15,9 +15,9 @@ from test.script_helper import (
assert_python_ok, assert_python_failure, temp_dir,
spawn_python, kill_python)
# We look inside the context module to find out which
# start methods we can check
from multiprocessing.context import _concrete_contexts
# Look up which start methods are available to test
import multiprocessing
AVAILABLE_START_METHODS = set(multiprocessing.get_all_start_methods())
verbose = support.verbose
@ -51,7 +51,7 @@ if __name__ == '__main__':
p = Pool(5)
results = []
p.map_async(f, [1, 2, 3], callback=results.extend)
deadline = time.time() + 2 # up to 2 s to report the results
deadline = time.time() + 5 # up to 5 s to report the results
while not results:
time.sleep(0.05)
if time.time() > deadline:
@ -79,7 +79,7 @@ set_start_method(start_method)
p = Pool(5)
results = []
p.map_async(int, [1, 4, 9], callback=results.extend)
deadline = time.time() + 2 # up to 2 s to report the results
deadline = time.time() + 5 # up to 5 s to report the results
while not results:
time.sleep(0.05)
if time.time() > deadline:
@ -131,7 +131,7 @@ class MultiProcessingCmdLineMixin():
maxDiff = None # Show full tracebacks on subprocess failure
def setUp(self):
if self.start_method not in _concrete_contexts:
if self.start_method not in AVAILABLE_START_METHODS:
self.skipTest("%r start method not available" % self.start_method)
def _check_output(self, script_name, exit_code, out, err):