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.
This commit is contained in:
Victor Stinner 2017-10-02 08:27:34 -07:00 committed by GitHub
parent 4337a0d995
commit e6cfdefa0c
1 changed files with 6 additions and 1 deletions

View File

@ -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()