mirror of https://github.com/python/cpython
Issue #26523: The multiprocessing thread pool (multiprocessing.dummy.Pool) was untested.
This commit is contained in:
commit
58f2bd86fb
|
@ -1822,13 +1822,19 @@ class _TestPool(BaseTestCase):
|
|||
expected_values.remove(value)
|
||||
|
||||
def test_make_pool(self):
|
||||
self.assertRaises(ValueError, multiprocessing.Pool, -1)
|
||||
self.assertRaises(ValueError, multiprocessing.Pool, 0)
|
||||
expected_error = (RemoteError if self.TYPE == 'manager'
|
||||
else ValueError)
|
||||
|
||||
p = multiprocessing.Pool(3)
|
||||
self.assertEqual(3, len(p._pool))
|
||||
p.close()
|
||||
p.join()
|
||||
self.assertRaises(expected_error, self.Pool, -1)
|
||||
self.assertRaises(expected_error, self.Pool, 0)
|
||||
|
||||
if self.TYPE != 'manager':
|
||||
p = self.Pool(3)
|
||||
try:
|
||||
self.assertEqual(3, len(p._pool))
|
||||
finally:
|
||||
p.close()
|
||||
p.join()
|
||||
|
||||
def test_terminate(self):
|
||||
result = self.pool.map_async(
|
||||
|
@ -1837,7 +1843,8 @@ class _TestPool(BaseTestCase):
|
|||
self.pool.terminate()
|
||||
join = TimingWrapper(self.pool.join)
|
||||
join()
|
||||
self.assertLess(join.elapsed, 0.5)
|
||||
# Sanity check the pool didn't wait for all tasks to finish
|
||||
self.assertLess(join.elapsed, 2.0)
|
||||
|
||||
def test_empty_iterable(self):
|
||||
# See Issue 12157
|
||||
|
@ -1855,7 +1862,7 @@ class _TestPool(BaseTestCase):
|
|||
if self.TYPE == 'processes':
|
||||
L = list(range(10))
|
||||
expected = [sqr(i) for i in L]
|
||||
with multiprocessing.Pool(2) as p:
|
||||
with self.Pool(2) as p:
|
||||
r = p.map_async(sqr, L)
|
||||
self.assertEqual(r.get(), expected)
|
||||
self.assertRaises(ValueError, p.map_async, sqr, L)
|
||||
|
@ -3858,7 +3865,7 @@ class ThreadsMixin(object):
|
|||
connection = multiprocessing.dummy.connection
|
||||
current_process = staticmethod(multiprocessing.dummy.current_process)
|
||||
active_children = staticmethod(multiprocessing.dummy.active_children)
|
||||
Pool = staticmethod(multiprocessing.Pool)
|
||||
Pool = staticmethod(multiprocessing.dummy.Pool)
|
||||
Pipe = staticmethod(multiprocessing.dummy.Pipe)
|
||||
Queue = staticmethod(multiprocessing.dummy.Queue)
|
||||
JoinableQueue = staticmethod(multiprocessing.dummy.JoinableQueue)
|
||||
|
|
|
@ -803,6 +803,9 @@ Documentation
|
|||
Tests
|
||||
-----
|
||||
|
||||
- Issue #26523: The multiprocessing thread pool (multiprocessing.dummy.Pool)
|
||||
was untested.
|
||||
|
||||
- Issue #26015: Added new tests for pickling iterators of mutable sequences.
|
||||
|
||||
- Issue #26325: Added test.support.check_no_resource_warning() to check that
|
||||
|
|
Loading…
Reference in New Issue