mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
gh-128364: Fix flaky test_timeout
test (gh-130724)
This commit is contained in:
parent
ddc27f9c38
commit
cfa0b1dc37
2 changed files with 11 additions and 2 deletions
|
@ -114,9 +114,8 @@ class WaitTests:
|
|||
|
||||
def test_timeout(self):
|
||||
short_timeout = 0.050
|
||||
long_timeout = short_timeout * 10
|
||||
|
||||
future = self.executor.submit(time.sleep, long_timeout)
|
||||
future = self.executor.submit(self.event.wait)
|
||||
|
||||
finished, pending = futures.wait(
|
||||
[CANCELLED_AND_NOTIFIED_FUTURE,
|
||||
|
@ -132,6 +131,9 @@ class WaitTests:
|
|||
finished)
|
||||
self.assertEqual(set([future]), pending)
|
||||
|
||||
# Set the event to allow the future to complete
|
||||
self.event.set()
|
||||
|
||||
|
||||
class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests, BaseTestCase):
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import multiprocessing
|
||||
import sys
|
||||
import threading
|
||||
import time
|
||||
import unittest
|
||||
from concurrent import futures
|
||||
|
@ -46,11 +47,14 @@ class ExecutorMixin:
|
|||
|
||||
self.t1 = time.monotonic()
|
||||
if hasattr(self, "ctx"):
|
||||
self.manager = multiprocessing.Manager()
|
||||
self.event = self.manager.Event()
|
||||
self.executor = self.executor_type(
|
||||
max_workers=self.worker_count,
|
||||
mp_context=self.get_context(),
|
||||
**self.executor_kwargs)
|
||||
else:
|
||||
self.event = threading.Event()
|
||||
self.executor = self.executor_type(
|
||||
max_workers=self.worker_count,
|
||||
**self.executor_kwargs)
|
||||
|
@ -58,6 +62,9 @@ class ExecutorMixin:
|
|||
def tearDown(self):
|
||||
self.executor.shutdown(wait=True)
|
||||
self.executor = None
|
||||
if hasattr(self, "ctx"):
|
||||
self.manager.shutdown()
|
||||
self.manager = None
|
||||
|
||||
dt = time.monotonic() - self.t1
|
||||
if support.verbose:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue