bpo-31234: test_multiprocessing: wait 30 seconds (#3599) · python/cpython@11f0807

@@ -63,6 +63,9 @@

6363

#

6464

#

656566+

# Timeout to wait until a process completes

67+

TIMEOUT = 30.0 # seconds

68+6669

def latin(s):

6770

return s.encode('latin')

6871

@@ -73,10 +76,10 @@ def close_queue(queue):

7376

queue.join_thread()

7477757876-

def join_process(process, timeout):

79+

def join_process(process):

7780

# Since multiprocessing.Process has the same API than threading.Thread

7881

# (join() and is_alive(), the support function can be reused

79-

support.join_thread(process, timeout)

82+

support.join_thread(process, timeout=TIMEOUT)

808381848285

#

@@ -484,7 +487,7 @@ def test_many_processes(self):

484487

for p in procs:

485488

p.start()

486489

for p in procs:

487-

join_process(p, timeout=10)

490+

join_process(p)

488491

for p in procs:

489492

self.assertEqual(p.exitcode, 0)

490493

@@ -496,7 +499,7 @@ def test_many_processes(self):

496499

for p in procs:

497500

p.terminate()

498501

for p in procs:

499-

join_process(p, timeout=10)

502+

join_process(p)

500503

if os.name != 'nt':

501504

for p in procs:

502505

self.assertEqual(p.exitcode, -signal.SIGTERM)

@@ -659,7 +662,7 @@ def test_sys_exit(self):

659662

p = self.Process(target=self._test_sys_exit, args=(reason, testfn))

660663

p.daemon = True

661664

p.start()

662-

join_process(p, timeout=5)

665+

join_process(p)

663666

self.assertEqual(p.exitcode, 1)

664667665668

with open(testfn, 'r') as f:

@@ -672,7 +675,7 @@ def test_sys_exit(self):

672675

p = self.Process(target=sys.exit, args=(reason,))

673676

p.daemon = True

674677

p.start()

675-

join_process(p, timeout=5)

678+

join_process(p)

676679

self.assertEqual(p.exitcode, reason)

677680678681

#

@@ -1261,7 +1264,7 @@ def test_waitfor(self):

12611264

state.value += 1

12621265

cond.notify()

126312661264-

join_process(p, timeout=5)

1267+

join_process(p)

12651268

self.assertEqual(p.exitcode, 0)

1266126912671270

@classmethod

@@ -1288,7 +1291,7 @@ def test_waitfor_timeout(self):

12881291

args=(cond, state, success, sem))

12891292

p.daemon = True

12901293

p.start()

1291-

self.assertTrue(sem.acquire(timeout=10))

1294+

self.assertTrue(sem.acquire(timeout=TIMEOUT))

1292129512931296

# Only increment 3 times, so state == 4 is never reached.

12941297

for i in range(3):

@@ -1297,7 +1300,7 @@ def test_waitfor_timeout(self):

12971300

state.value += 1

12981301

cond.notify()

129913021300-

join_process(p, timeout=5)

1303+

join_process(p)

13011304

self.assertTrue(success.value)

1302130513031306

@classmethod

@@ -3079,7 +3082,7 @@ class _TestPicklingConnections(BaseTestCase):

30793082

@classmethod

30803083

def tearDownClass(cls):

30813084

from multiprocessing import resource_sharer

3082-

resource_sharer.stop(timeout=5)

3085+

resource_sharer.stop(timeout=TIMEOUT)

3083308630843087

@classmethod

30853088

def _listener(cls, conn, families):

@@ -4011,7 +4014,7 @@ def test_timeout(self):

40114014

self.assertEqual(conn.recv(), 456)

40124015

conn.close()

40134016

l.close()

4014-

join_process(p, timeout=10)

4017+

join_process(p)

40154018

finally:

40164019

socket.setdefaulttimeout(old_timeout)

40174020

@@ -4047,7 +4050,7 @@ def child(cls, n, conn):

40474050

p = multiprocessing.Process(target=cls.child, args=(n-1, conn))

40484051

p.start()

40494052

conn.close()

4050-

join_process(p, timeout=5)

4053+

join_process(p)

40514054

else:

40524055

conn.send(len(util._afterfork_registry))

40534056

conn.close()

@@ -4060,7 +4063,7 @@ def test_lock(self):

40604063

p.start()

40614064

w.close()

40624065

new_size = r.recv()

4063-

join_process(p, timeout=5)

4066+

join_process(p)

40644067

self.assertLessEqual(new_size, old_size)

4065406840664069

#

@@ -4115,7 +4118,7 @@ def test_closefd(self):

41154118

p.start()

41164119

writer.close()

41174120

e = reader.recv()

4118-

join_process(p, timeout=5)

4121+

join_process(p)

41194122

finally:

41204123

self.close(fd)

41214124

writer.close()