summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_concurrent_futures
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-09-28 13:21:15 (GMT)
committerGitHub <noreply@github.com>2023-09-28 13:21:15 (GMT)
commit9be283e5e15d5d5685b78a38eb132501f7f3febb (patch)
treefbd8062a253c2e6c0d8daf01c9175ba8877b21ce /Lib/test/test_concurrent_futures
parent0baf72696e79191241a2d5cfdfd7e6135115f7b2 (diff)
downloadcpython-9be283e5e15d5d5685b78a38eb132501f7f3febb.zip
cpython-9be283e5e15d5d5685b78a38eb132501f7f3febb.tar.gz
cpython-9be283e5e15d5d5685b78a38eb132501f7f3febb.tar.bz2
gh-109594: Fix concurrent.futures test_timeout() (#110018)
Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future which may or may not complete depending if it takes longer than the timeout ot not. Keep the second future which does not complete before wait(). Make also the test faster: 0.5 second instead of 6 seconds, so remove @support.requires_resource('walltime') decorator.
Diffstat (limited to 'Lib/test/test_concurrent_futures')
-rw-r--r--Lib/test/test_concurrent_futures/test_wait.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/Lib/test/test_concurrent_futures/test_wait.py b/Lib/test/test_concurrent_futures/test_wait.py
index 3f64ca1..ff48620 100644
--- a/Lib/test/test_concurrent_futures/test_wait.py
+++ b/Lib/test/test_concurrent_futures/test_wait.py
@@ -112,24 +112,25 @@ class WaitTests:
future2]), finished)
self.assertEqual(set(), pending)
- @support.requires_resource('walltime')
def test_timeout(self):
- future1 = self.executor.submit(mul, 6, 7)
- future2 = self.executor.submit(time.sleep, 6)
+ short_timeout = 0.050
+ long_timeout = short_timeout * 10
+
+ future = self.executor.submit(time.sleep, long_timeout)
finished, pending = futures.wait(
[CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
- future1, future2],
- timeout=5,
+ future],
+ timeout=short_timeout,
return_when=futures.ALL_COMPLETED)
self.assertEqual(set([CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
- SUCCESSFUL_FUTURE,
- future1]), finished)
- self.assertEqual(set([future2]), pending)
+ SUCCESSFUL_FUTURE]),
+ finished)
+ self.assertEqual(set([future]), pending)
class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests, BaseTestCase):