mirror of https://github.com/python/cpython
Issue #14407: Fix unittest test discovery in test_concurrent_futures.
This commit is contained in:
parent
b46fe79735
commit
9816a1e643
|
@ -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()
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue