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)
|
expected_values.remove(value)
|
||||||
|
|
||||||
def test_make_pool(self):
|
def test_make_pool(self):
|
||||||
self.assertRaises(ValueError, multiprocessing.Pool, -1)
|
expected_error = (RemoteError if self.TYPE == 'manager'
|
||||||
self.assertRaises(ValueError, multiprocessing.Pool, 0)
|
else ValueError)
|
||||||
|
|
||||||
p = multiprocessing.Pool(3)
|
self.assertRaises(expected_error, self.Pool, -1)
|
||||||
self.assertEqual(3, len(p._pool))
|
self.assertRaises(expected_error, self.Pool, 0)
|
||||||
p.close()
|
|
||||||
p.join()
|
if self.TYPE != 'manager':
|
||||||
|
p = self.Pool(3)
|
||||||
|
try:
|
||||||
|
self.assertEqual(3, len(p._pool))
|
||||||
|
finally:
|
||||||
|
p.close()
|
||||||
|
p.join()
|
||||||
|
|
||||||
def test_terminate(self):
|
def test_terminate(self):
|
||||||
result = self.pool.map_async(
|
result = self.pool.map_async(
|
||||||
|
@ -1837,7 +1843,8 @@ class _TestPool(BaseTestCase):
|
||||||
self.pool.terminate()
|
self.pool.terminate()
|
||||||
join = TimingWrapper(self.pool.join)
|
join = TimingWrapper(self.pool.join)
|
||||||
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):
|
def test_empty_iterable(self):
|
||||||
# See Issue 12157
|
# See Issue 12157
|
||||||
|
@ -1855,7 +1862,7 @@ class _TestPool(BaseTestCase):
|
||||||
if self.TYPE == 'processes':
|
if self.TYPE == 'processes':
|
||||||
L = list(range(10))
|
L = list(range(10))
|
||||||
expected = [sqr(i) for i in L]
|
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)
|
r = p.map_async(sqr, L)
|
||||||
self.assertEqual(r.get(), expected)
|
self.assertEqual(r.get(), expected)
|
||||||
self.assertRaises(ValueError, p.map_async, sqr, L)
|
self.assertRaises(ValueError, p.map_async, sqr, L)
|
||||||
|
@ -3858,7 +3865,7 @@ class ThreadsMixin(object):
|
||||||
connection = multiprocessing.dummy.connection
|
connection = multiprocessing.dummy.connection
|
||||||
current_process = staticmethod(multiprocessing.dummy.current_process)
|
current_process = staticmethod(multiprocessing.dummy.current_process)
|
||||||
active_children = staticmethod(multiprocessing.dummy.active_children)
|
active_children = staticmethod(multiprocessing.dummy.active_children)
|
||||||
Pool = staticmethod(multiprocessing.Pool)
|
Pool = staticmethod(multiprocessing.dummy.Pool)
|
||||||
Pipe = staticmethod(multiprocessing.dummy.Pipe)
|
Pipe = staticmethod(multiprocessing.dummy.Pipe)
|
||||||
Queue = staticmethod(multiprocessing.dummy.Queue)
|
Queue = staticmethod(multiprocessing.dummy.Queue)
|
||||||
JoinableQueue = staticmethod(multiprocessing.dummy.JoinableQueue)
|
JoinableQueue = staticmethod(multiprocessing.dummy.JoinableQueue)
|
||||||
|
|
|
@ -803,6 +803,9 @@ Documentation
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #26523: The multiprocessing thread pool (multiprocessing.dummy.Pool)
|
||||||
|
was untested.
|
||||||
|
|
||||||
- Issue #26015: Added new tests for pickling iterators of mutable sequences.
|
- Issue #26015: Added new tests for pickling iterators of mutable sequences.
|
||||||
|
|
||||||
- Issue #26325: Added test.support.check_no_resource_warning() to check that
|
- Issue #26325: Added test.support.check_no_resource_warning() to check that
|
||||||
|
|
Loading…
Reference in New Issue