Issue #20367: Fix behavior of concurrent.futures.as_completed() for duplicate

arguments.  Patch by Glenn Langford.
This commit is contained in:
Victor Stinner 2014-01-27 09:11:48 +01:00
parent d1c85fd283
commit b9915973f3
5 changed files with 17 additions and 3 deletions

View file

@ -344,6 +344,13 @@ class AsCompletedTests:
SUCCESSFUL_FUTURE]),
completed_futures)
def test_duplicate_futures(self):
# Issue 20367. Duplicate futures should not raise exceptions or give
# duplicate responses.
future1 = self.executor.submit(time.sleep, 2)
completed = [f for f in futures.as_completed([future1,future1])]
self.assertEqual(len(completed), 1)
class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests, unittest.TestCase):
pass