summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_concurrent_futures.py
diff options
context:
space:
mode:
authorƁukasz Langa <lukasz@langa.pl>2017-09-29 21:33:34 (GMT)
committerGitHub <noreply@github.com>2017-09-29 21:33:34 (GMT)
commit574562c5ddb2f0429aab9af762442e6f9a3f26ab (patch)
treef96b2636a2c5046e6b232e42011d8f509d69bdc7 /Lib/test/test_concurrent_futures.py
parent01c6a8859ef2ff5545a87cf537573bd342c848bf (diff)
downloadcpython-574562c5ddb2f0429aab9af762442e6f9a3f26ab.zip
cpython-574562c5ddb2f0429aab9af762442e6f9a3f26ab.tar.gz
cpython-574562c5ddb2f0429aab9af762442e6f9a3f26ab.tar.bz2
bpo-31641: Allow arbitrary iterables in `concurrent.futures.as_completed()` (#3830)
This was possible before. GH-1560 introduced a regression after 3.6.2 got released where only sequences were accepted now. This commit addresses this problem.
Diffstat (limited to 'Lib/test/test_concurrent_futures.py')
-rw-r--r--Lib/test/test_concurrent_futures.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py
index 57dc994..e4c9ace 100644
--- a/Lib/test/test_concurrent_futures.py
+++ b/Lib/test/test_concurrent_futures.py
@@ -7,6 +7,7 @@ test.support.import_module('multiprocessing.synchronize')
from test.support.script_helper import assert_python_ok
+import itertools
import os
import sys
import threading
@@ -395,8 +396,11 @@ class AsCompletedTests:
def test_duplicate_futures(self):
# Issue 20367. Duplicate futures should not raise exceptions or give
# duplicate responses.
+ # Issue #31641: accept arbitrary iterables.
future1 = self.executor.submit(time.sleep, 2)
- completed = [f for f in futures.as_completed([future1,future1])]
+ completed = [
+ f for f in futures.as_completed(itertools.repeat(future1, 3))
+ ]
self.assertEqual(len(completed), 1)
def test_free_reference_yielded_future(self):