cpython: 9cc40bc5f02b (original) (raw)

--- a/Lib/test/test_concurrent_futures.py +++ b/Lib/test/test_concurrent_futures.py @@ -94,7 +94,7 @@ class ProcessPoolMixin(ExecutorMixin): executor_type = futures.ProcessPoolExecutor -class ExecutorShutdownTest(unittest.TestCase): +class ExecutorShutdownTest: def test_run_after_shutdown(self): self.executor.shutdown() self.assertRaises(RuntimeError, @@ -122,7 +122,7 @@ class ExecutorShutdownTest(unittest.Test f.result() -class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest): +class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest, unittest.TestCase): def _prime_executor(self): pass @@ -154,7 +154,7 @@ class ThreadPoolShutdownTest(ThreadPoolM t.join() -class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest): +class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest, unittest.TestCase): def _prime_executor(self): pass @@ -190,7 +190,7 @@ class ProcessPoolShutdownTest(ProcessPoo p.join() -class WaitTests(unittest.TestCase): +class WaitTests: def test_first_completed(self): future1 = self.executor.submit(mul, 21, 2) @@ -291,7 +291,7 @@ class WaitTests(unittest.TestCase): self.assertEqual(set([future2]), pending) -class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests): +class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests, unittest.TestCase): def test_pending_calls_race(self): # Issue #14406: multi-threaded race condition when waiting on all @@ -309,11 +309,11 @@ class ThreadPoolWaitTests(ThreadPoolMixi sys.setswitchinterval(oldswitchinterval) -class ProcessPoolWaitTests(ProcessPoolMixin, WaitTests): +class ProcessPoolWaitTests(ProcessPoolMixin, WaitTests, unittest.TestCase): pass -class AsCompletedTests(unittest.TestCase): +class AsCompletedTests: # TODO(brian@sweetapp.com): Should have a test with a non-zero timeout. def test_no_timeout(self): future1 = self.executor.submit(mul, 2, 21) @@ -351,15 +351,15 @@ class AsCompletedTests(unittest.TestCase completed_futures) -class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests): +class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests, unittest.TestCase): pass -class ProcessPoolAsCompletedTests(ProcessPoolMixin, AsCompletedTests): +class ProcessPoolAsCompletedTests(ProcessPoolMixin, AsCompletedTests, unittest.TestCase): pass -class ExecutorTest(unittest.TestCase): +class ExecutorTest: # Executor.shutdown() and context manager usage is tested by # ExecutorShutdownTest. def test_submit(self): @@ -419,7 +419,7 @@ class ExecutorTest(unittest.TestCase): "Stale reference not collected within timeout.") -class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest): +class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest, unittest.TestCase): def test_map_submits_without_iteration(self): """Tests verifying issue 11777.""" finished = [] @@ -431,7 +431,7 @@ class ThreadPoolExecutorTest(ThreadPoolM self.assertCountEqual(finished, range(10)) -class ProcessPoolExecutorTest(ProcessPoolMixin, ExecutorTest): +class ProcessPoolExecutorTest(ProcessPoolMixin, ExecutorTest, unittest.TestCase): def test_killed_child(self): # When a child process is abruptly terminated, the whole pool gets # "broken". @@ -670,16 +670,7 @@ class FutureTests(unittest.TestCase): @test.support.reap_threads def test_main(): try:

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -116,6 +116,8 @@ Library Tests ----- +- Issue #14407: Fix unittest test discovery in test_concurrent_futures. +