summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/support/__init__.py3
-rw-r--r--Lib/test/test_concurrent_futures.py7
2 files changed, 9 insertions, 1 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 3cfa487..313c230 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -2079,7 +2079,6 @@ def reap_children():
stick around to hog resources and create problems when looking
for refleaks.
"""
-
# Reap all our dead child processes so we don't leave zombies around.
# These hog resources and might be causing some of the buildbots to die.
if hasattr(os, 'waitpid'):
@@ -2090,6 +2089,8 @@ def reap_children():
pid, status = os.waitpid(any_process, os.WNOHANG)
if pid == 0:
break
+ print("Warning -- reap_children() reaped child process %s"
+ % pid, file=sys.stderr)
except:
break
diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py
index e2da47b..c649555 100644
--- a/Lib/test/test_concurrent_futures.py
+++ b/Lib/test/test_concurrent_futures.py
@@ -63,6 +63,8 @@ class ExecutorMixin:
worker_count = 5
def setUp(self):
+ self._thread_cleanup = test.support.threading_setup()
+
self.t1 = time.time()
try:
self.executor = self.executor_type(max_workers=self.worker_count)
@@ -72,11 +74,16 @@ class ExecutorMixin:
def tearDown(self):
self.executor.shutdown(wait=True)
+ self.executor = None
+
dt = time.time() - self.t1
if test.support.verbose:
print("%.2fs" % dt, end=' ')
self.assertLess(dt, 60, "synchronization issue: test lasted too long")
+ test.support.threading_cleanup(*self._thread_cleanup)
+ test.support.reap_children()
+
def _prime_executor(self):
# Make sure that the executor is ready to do work before running the
# tests. This should reduce the probability of timeouts in the tests.