mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-31234: test_multiprocessing: wait 30 seconds (#3599)
Give 30 seconds to join_process(), instead of 5 or 10 seconds, to wait until the process completes.
This commit is contained in:
parent
da3e5cf961
commit
11f0807a40
1 changed files with 17 additions and 14 deletions
|
@ -63,6 +63,9 @@ except ImportError:
|
|||
#
|
||||
#
|
||||
|
||||
# Timeout to wait until a process completes
|
||||
TIMEOUT = 30.0 # seconds
|
||||
|
||||
def latin(s):
|
||||
return s.encode('latin')
|
||||
|
||||
|
@ -73,10 +76,10 @@ def close_queue(queue):
|
|||
queue.join_thread()
|
||||
|
||||
|
||||
def join_process(process, timeout):
|
||||
def join_process(process):
|
||||
# Since multiprocessing.Process has the same API than threading.Thread
|
||||
# (join() and is_alive(), the support function can be reused
|
||||
support.join_thread(process, timeout)
|
||||
support.join_thread(process, timeout=TIMEOUT)
|
||||
|
||||
|
||||
#
|
||||
|
@ -484,7 +487,7 @@ class _TestProcess(BaseTestCase):
|
|||
for p in procs:
|
||||
p.start()
|
||||
for p in procs:
|
||||
join_process(p, timeout=10)
|
||||
join_process(p)
|
||||
for p in procs:
|
||||
self.assertEqual(p.exitcode, 0)
|
||||
|
||||
|
@ -496,7 +499,7 @@ class _TestProcess(BaseTestCase):
|
|||
for p in procs:
|
||||
p.terminate()
|
||||
for p in procs:
|
||||
join_process(p, timeout=10)
|
||||
join_process(p)
|
||||
if os.name != 'nt':
|
||||
for p in procs:
|
||||
self.assertEqual(p.exitcode, -signal.SIGTERM)
|
||||
|
@ -659,7 +662,7 @@ class _TestSubclassingProcess(BaseTestCase):
|
|||
p = self.Process(target=self._test_sys_exit, args=(reason, testfn))
|
||||
p.daemon = True
|
||||
p.start()
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
self.assertEqual(p.exitcode, 1)
|
||||
|
||||
with open(testfn, 'r') as f:
|
||||
|
@ -672,7 +675,7 @@ class _TestSubclassingProcess(BaseTestCase):
|
|||
p = self.Process(target=sys.exit, args=(reason,))
|
||||
p.daemon = True
|
||||
p.start()
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
self.assertEqual(p.exitcode, reason)
|
||||
|
||||
#
|
||||
|
@ -1261,7 +1264,7 @@ class _TestCondition(BaseTestCase):
|
|||
state.value += 1
|
||||
cond.notify()
|
||||
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
self.assertEqual(p.exitcode, 0)
|
||||
|
||||
@classmethod
|
||||
|
@ -1288,7 +1291,7 @@ class _TestCondition(BaseTestCase):
|
|||
args=(cond, state, success, sem))
|
||||
p.daemon = True
|
||||
p.start()
|
||||
self.assertTrue(sem.acquire(timeout=10))
|
||||
self.assertTrue(sem.acquire(timeout=TIMEOUT))
|
||||
|
||||
# Only increment 3 times, so state == 4 is never reached.
|
||||
for i in range(3):
|
||||
|
@ -1297,7 +1300,7 @@ class _TestCondition(BaseTestCase):
|
|||
state.value += 1
|
||||
cond.notify()
|
||||
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
self.assertTrue(success.value)
|
||||
|
||||
@classmethod
|
||||
|
@ -3079,7 +3082,7 @@ class _TestPicklingConnections(BaseTestCase):
|
|||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
from multiprocessing import resource_sharer
|
||||
resource_sharer.stop(timeout=5)
|
||||
resource_sharer.stop(timeout=TIMEOUT)
|
||||
|
||||
@classmethod
|
||||
def _listener(cls, conn, families):
|
||||
|
@ -4011,7 +4014,7 @@ class TestTimeouts(unittest.TestCase):
|
|||
self.assertEqual(conn.recv(), 456)
|
||||
conn.close()
|
||||
l.close()
|
||||
join_process(p, timeout=10)
|
||||
join_process(p)
|
||||
finally:
|
||||
socket.setdefaulttimeout(old_timeout)
|
||||
|
||||
|
@ -4047,7 +4050,7 @@ class TestForkAwareThreadLock(unittest.TestCase):
|
|||
p = multiprocessing.Process(target=cls.child, args=(n-1, conn))
|
||||
p.start()
|
||||
conn.close()
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
else:
|
||||
conn.send(len(util._afterfork_registry))
|
||||
conn.close()
|
||||
|
@ -4060,7 +4063,7 @@ class TestForkAwareThreadLock(unittest.TestCase):
|
|||
p.start()
|
||||
w.close()
|
||||
new_size = r.recv()
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
self.assertLessEqual(new_size, old_size)
|
||||
|
||||
#
|
||||
|
@ -4115,7 +4118,7 @@ class TestCloseFds(unittest.TestCase):
|
|||
p.start()
|
||||
writer.close()
|
||||
e = reader.recv()
|
||||
join_process(p, timeout=5)
|
||||
join_process(p)
|
||||
finally:
|
||||
self.close(fd)
|
||||
writer.close()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue