Skip to content

Commit 534143d

Browse files
committed
split inf iterable test for imap and imap_unordered
1 parent 167aa6d commit 534143d

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

Lib/test/_test_multiprocessing.py

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3138,32 +3138,41 @@ def produce_args():
31383138
p.terminate()
31393139
p.join()
31403140

3141-
def test_imap_and_imap_unordered_buffersize_on_infinite_iterable(self):
3141+
def test_imap_and_imap_unordered_buffersize_on_empty_iterable(self):
3142+
for method_name in ("imap", "imap_unordered"):
3143+
with self.subTest(method=method_name):
3144+
method = getattr(self.pool, method_name)
3145+
3146+
res = method(str, [], buffersize=2)
3147+
3148+
self.assertIsNone(next(res, None))
3149+
3150+
def test_imap_buffersize_on_infinite_iterable(self):
31423151
if self.TYPE != "threads":
31433152
self.skipTest("test not appropriate for {}".format(self.TYPE))
31443153

3145-
for method_name in ("imap", "imap_unordered"):
3146-
with self.subTest(method=method_name):
3147-
p = self.Pool(4)
3148-
method = getattr(p, method_name)
3154+
p = self.Pool(4)
3155+
res = p.imap(str, itertools.count(), buffersize=2)
31493156

3150-
res = method(str, itertools.count(), buffersize=2)
3157+
self.assertEqual(next(res, None), "0")
3158+
self.assertEqual(next(res, None), "1")
3159+
self.assertEqual(next(res, None), "2")
31513160

3152-
self.assertEqual(next(res, None), "0")
3153-
self.assertEqual(next(res, None), "1")
3154-
self.assertEqual(next(res, None), "2")
3161+
p.terminate()
3162+
p.join()
31553163

3156-
p.terminate()
3157-
p.join()
3164+
def test_imap_unordered_buffersize_on_infinite_iterable(self):
3165+
if self.TYPE != "threads":
3166+
self.skipTest("test not appropriate for {}".format(self.TYPE))
31583167

3159-
def test_imap_and_imap_unordered_buffersize_on_empty_iterable(self):
3160-
for method_name in ("imap", "imap_unordered"):
3161-
with self.subTest(method=method_name):
3162-
method = getattr(self.pool, method_name)
3168+
p = self.Pool(4)
3169+
res = p.imap(str, itertools.count(), buffersize=2)
3170+
first_three_results = sorted(next(res, None) for _ in range(3))
31633171

3164-
res = method(str, [], buffersize=2)
3172+
self.assertEqual(first_three_results, ["0", "1", "2"])
31653173

3166-
self.assertIsNone(next(res, None))
3174+
p.terminate()
3175+
p.join()
31673176

31683177
def test_make_pool(self):
31693178
expected_error = (RemoteError if self.TYPE == 'manager'

0 commit comments

Comments
 (0)