From 71f73ca7a9098c678d6bf3073b02228783100665 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 23 Apr 2015 11:35:59 +0300 Subject: Issue #23713: Fixed fragility of test_imap_unordered_handle_iterable_exception. Patch by Davin Potts. --- Lib/test/_test_multiprocessing.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index ff31e36..204d894 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -1799,17 +1799,23 @@ class _TestPool(BaseTestCase): it = self.pool.imap_unordered(sqr, exception_throwing_generator(10, 3), 1) + expected_values = list(map(sqr, list(range(10)))) with self.assertRaises(SayWhenError): # imap_unordered makes it difficult to anticipate the SayWhenError for i in range(10): - self.assertEqual(next(it), i*i) + value = next(it) + self.assertIn(value, expected_values) + expected_values.remove(value) it = self.pool.imap_unordered(sqr, exception_throwing_generator(20, 7), 2) + expected_values = list(map(sqr, list(range(20)))) with self.assertRaises(SayWhenError): for i in range(20): - self.assertEqual(next(it), i*i) + value = next(it) + self.assertIn(value, expected_values) + expected_values.remove(value) def test_make_pool(self): self.assertRaises(ValueError, multiprocessing.Pool, -1) -- cgit v0.12