Issue #14407: Fix unittest test discovery in test_concurrent_futures.

This commit is contained in:
Antoine Pitrou 2013-10-15 23:23:32 +02:00
parent b46fe79735
commit 9816a1e643
2 changed files with 15 additions and 22 deletions

View File

@ -88,7 +88,7 @@ class ProcessPoolMixin(ExecutorMixin):
executor_type = futures.ProcessPoolExecutor executor_type = futures.ProcessPoolExecutor
class ExecutorShutdownTest(unittest.TestCase): class ExecutorShutdownTest:
def test_run_after_shutdown(self): def test_run_after_shutdown(self):
self.executor.shutdown() self.executor.shutdown()
self.assertRaises(RuntimeError, self.assertRaises(RuntimeError,
@ -116,7 +116,7 @@ class ExecutorShutdownTest(unittest.TestCase):
f.result() f.result()
class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest): class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest, unittest.TestCase):
def _prime_executor(self): def _prime_executor(self):
pass pass
@ -148,7 +148,7 @@ class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest):
t.join() t.join()
class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest): class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest, unittest.TestCase):
def _prime_executor(self): def _prime_executor(self):
pass pass
@ -184,7 +184,7 @@ class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest):
p.join() p.join()
class WaitTests(unittest.TestCase): class WaitTests:
def test_first_completed(self): def test_first_completed(self):
future1 = self.executor.submit(mul, 21, 2) future1 = self.executor.submit(mul, 21, 2)
@ -285,7 +285,7 @@ class WaitTests(unittest.TestCase):
self.assertEqual(set([future2]), pending) self.assertEqual(set([future2]), pending)
class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests): class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests, unittest.TestCase):
def test_pending_calls_race(self): def test_pending_calls_race(self):
# Issue #14406: multi-threaded race condition when waiting on all # Issue #14406: multi-threaded race condition when waiting on all
@ -303,11 +303,11 @@ class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests):
sys.setswitchinterval(oldswitchinterval) sys.setswitchinterval(oldswitchinterval)
class ProcessPoolWaitTests(ProcessPoolMixin, WaitTests): class ProcessPoolWaitTests(ProcessPoolMixin, WaitTests, unittest.TestCase):
pass pass
class AsCompletedTests(unittest.TestCase): class AsCompletedTests:
# TODO(brian@sweetapp.com): Should have a test with a non-zero timeout. # TODO(brian@sweetapp.com): Should have a test with a non-zero timeout.
def test_no_timeout(self): def test_no_timeout(self):
future1 = self.executor.submit(mul, 2, 21) future1 = self.executor.submit(mul, 2, 21)
@ -345,15 +345,15 @@ class AsCompletedTests(unittest.TestCase):
completed_futures) completed_futures)
class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests): class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests, unittest.TestCase):
pass pass
class ProcessPoolAsCompletedTests(ProcessPoolMixin, AsCompletedTests): class ProcessPoolAsCompletedTests(ProcessPoolMixin, AsCompletedTests, unittest.TestCase):
pass pass
class ExecutorTest(unittest.TestCase): class ExecutorTest:
# Executor.shutdown() and context manager usage is tested by # Executor.shutdown() and context manager usage is tested by
# ExecutorShutdownTest. # ExecutorShutdownTest.
def test_submit(self): def test_submit(self):
@ -397,7 +397,7 @@ class ExecutorTest(unittest.TestCase):
self.executor.shutdown() self.executor.shutdown()
class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest): class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest, unittest.TestCase):
def test_map_submits_without_iteration(self): def test_map_submits_without_iteration(self):
"""Tests verifying issue 11777.""" """Tests verifying issue 11777."""
finished = [] finished = []
@ -409,7 +409,7 @@ class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest):
self.assertCountEqual(finished, range(10)) self.assertCountEqual(finished, range(10))
class ProcessPoolExecutorTest(ProcessPoolMixin, ExecutorTest): class ProcessPoolExecutorTest(ProcessPoolMixin, ExecutorTest, unittest.TestCase):
def test_killed_child(self): def test_killed_child(self):
# When a child process is abruptly terminated, the whole pool gets # When a child process is abruptly terminated, the whole pool gets
# "broken". # "broken".
@ -648,16 +648,7 @@ class FutureTests(unittest.TestCase):
@test.support.reap_threads @test.support.reap_threads
def test_main(): def test_main():
try: try:
test.support.run_unittest(ProcessPoolExecutorTest, test.support.run_unittest(__name__)
ThreadPoolExecutorTest,
ProcessPoolWaitTests,
ThreadPoolWaitTests,
ProcessPoolAsCompletedTests,
ThreadPoolAsCompletedTests,
FutureTests,
ProcessPoolShutdownTest,
ThreadPoolShutdownTest,
)
finally: finally:
test.support.reap_children() test.support.reap_children()

View File

@ -430,6 +430,8 @@ IDLE
Tests Tests
----- -----
- Issue #14407: Fix unittest test discovery in test_concurrent_futures.
- Issue #18919: Unified and extended tests for audio modules: aifc, sunau and - Issue #18919: Unified and extended tests for audio modules: aifc, sunau and
wave. wave.