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()
This commit is contained in:
Victor Stinner 2018-07-03 13:20:35 +02:00 committed by GitHub
parent d824ca7f4d
commit 23401fb960
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -2351,10 +2351,10 @@ class _TestPool(BaseTestCase):
self.assertRaises(SayWhenError, it.__next__) self.assertRaises(SayWhenError, it.__next__)
def test_imap_unordered(self): def test_imap_unordered(self):
it = self.pool.imap_unordered(sqr, list(range(1000))) it = self.pool.imap_unordered(sqr, list(range(10)))
self.assertEqual(sorted(it), list(map(sqr, list(range(1000))))) 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))))) self.assertEqual(sorted(it), list(map(sqr, list(range(1000)))))
def test_imap_unordered_handle_iterable_exception(self): def test_imap_unordered_handle_iterable_exception(self):