diff options
author | Victor Stinner <vstinner@python.org> | 2023-09-28 13:21:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-28 13:21:15 (GMT) |
commit | 9be283e5e15d5d5685b78a38eb132501f7f3febb (patch) | |
tree | fbd8062a253c2e6c0d8daf01c9175ba8877b21ce /Lib/test/test_concurrent_futures | |
parent | 0baf72696e79191241a2d5cfdfd7e6135115f7b2 (diff) | |
download | cpython-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.py | 17 |
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): |