diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 8c4966b37b9..b5b05c359ca 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -56,7 +56,16 @@ class TestThread(threading.Thread): (self.name, self.nrunning.get())) -class ThreadTests(unittest.TestCase): +class BaseTestCase(unittest.TestCase): + def setUp(self): + self._threads = test.support.threading_setup() + + def tearDown(self): + test.support.threading_cleanup(*self._threads) + test.support.reap_children() + + +class ThreadTests(BaseTestCase): # Create a bunch of threads, let each do some work, wait until all are # done. @@ -389,7 +398,7 @@ class ThreadTests(unittest.TestCase): threading.activeCount() -class ThreadJoinOnShutdown(unittest.TestCase): +class ThreadJoinOnShutdown(BaseTestCase): def _run_and_join(self, script): script = """if 1: @@ -470,7 +479,7 @@ class ThreadJoinOnShutdown(unittest.TestCase): self._run_and_join(script) -class ThreadingExceptionTests(unittest.TestCase): +class ThreadingExceptionTests(BaseTestCase): # A RuntimeError should be raised if Thread.start() is called # multiple times. def test_start_thread_again(self):