From: Serhiy Storchaka <storchaka@gmail.com>
Date: Thu, 23 Apr 2015 08:35:59 +0000 (+0300)
Subject: Issue #23713: Fixed fragility of test_imap_unordered_handle_iterable_exception.
X-Git-Tag: v3.5.0b1~299^2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=71f73ca7a9098c678d6bf3073b02228783100665;p=python

Issue #23713: Fixed fragility of test_imap_unordered_handle_iterable_exception.
Patch by Davin Potts.
---

diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index ff31e3669c..204d894ec6 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)