mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
[3.12] gh-128364: Fix flaky test_timeout test (gh-130724) (gh-130729)
gh-128364: Fix flaky `test_timeout` test (gh-130724)
(cherry picked from commit cfa0b1dc37)
Co-authored-by: Sam Gross <colesbury@gmail.com>
This commit is contained in:
parent
d922aa80fd
commit
27f9f2b98a
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