(original) (raw)
changeset: 88083:00d09afb57ca user: Nick Coghlan ncoghlan@gmail.com date: Fri Dec 20 22:14:03 2013 +1000 files: Lib/test/test_multiprocessing_main_handling.py description: 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. diff -r 13a505260f17 -r 00d09afb57ca Lib/test/test_multiprocessing_main_handling.py --- a/Lib/test/test_multiprocessing_main_handling.py Thu Dec 19 13:49:32 2013 -0800 +++ b/Lib/test/test_multiprocessing_main_handling.py Fri Dec 20 22:14:03 2013 +1000 @@ -15,9 +15,9 @@ 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 @@ 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 @@ 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 @@ 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): /ncoghlan@gmail.com