From: Victor Stinner Date: Mon, 2 Oct 2017 15:27:34 +0000 (-0700) Subject: bpo-31510: Fix multiprocessing test_many_processes() on macOS (#3857) X-Git-Tag: v3.7.0a2~74 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e6cfdefa0c2f5bda177e49b228c2c7528f7c239c;p=python bpo-31510: Fix multiprocessing test_many_processes() on macOS (#3857) On macOS, a process can exit with -SIGKILL if it is killed "early" with SIGTERM. --- diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index fda20f1f40..8e004e21a4 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -501,8 +501,13 @@ class _TestProcess(BaseTestCase): for p in procs: join_process(p) if os.name != 'nt': + exitcodes = [-signal.SIGTERM] + if sys.platform == 'darwin': + # bpo-31510: On macOS, killing a freshly started process with + # SIGTERM sometimes kills the process with SIGKILL. + exitcodes.append(-signal.SIGKILL) for p in procs: - self.assertEqual(p.exitcode, -signal.SIGTERM) + self.assertIn(p.exitcode, exitcodes) def test_lose_target_ref(self): c = DummyCallable()