From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 3 Jul 2018 11:38:56 +0000 (-0700) Subject: bpo-33735: Fix test_multiprocessing random failure (GH-8059) X-Git-Tag: v3.7.1rc1~341 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=42b2f84a85fe3334c5d8098cf76dfa727b348c4f;p=python bpo-33735: Fix test_multiprocessing random failure (GH-8059) When hunting memory leaks using -R 3:3, test_imap_unordered() of test_multiprocessing leaks randomly a few memory blocks. It is a false alarm: when testing using -R 3:20 for example, no leak is detected. Modify test_imap_unordered() to be closer to test_imap(): * Only test 10 numbers instead of 1000: it's a pool of 4 processes, so 10 is enough to test at least one number per process * Use chunksize=100 instead of chunksize=53 to mimick test_imap() (cherry picked from commit 23401fb960bb94e6ea62d2999527968d53d3fc65) Co-authored-by: Victor Stinner --- diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index edae6bc685..73321606f1 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -2351,10 +2351,10 @@ class _TestPool(BaseTestCase): self.assertRaises(SayWhenError, it.__next__) def test_imap_unordered(self): - it = self.pool.imap_unordered(sqr, list(range(1000))) - self.assertEqual(sorted(it), list(map(sqr, list(range(1000))))) + it = self.pool.imap_unordered(sqr, list(range(10))) + self.assertEqual(sorted(it), list(map(sqr, list(range(10))))) - it = self.pool.imap_unordered(sqr, list(range(1000)), chunksize=53) + it = self.pool.imap_unordered(sqr, list(range(1000)), chunksize=100) self.assertEqual(sorted(it), list(map(sqr, list(range(1000))))) def test_imap_unordered_handle_iterable_exception(self):