mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #33719 -- Fixed test command crash when running in parallel.
Thanks Pēteris Caune for the report.
Regression in 3b3f38b3b0.
This commit is contained in:
@@ -19,6 +19,7 @@ from django.test import SimpleTestCase, TransactionTestCase, skipUnlessDBFeature
|
||||
from django.test.runner import (
|
||||
DiscoverRunner,
|
||||
Shuffler,
|
||||
_init_worker,
|
||||
reorder_test_bin,
|
||||
reorder_tests,
|
||||
shuffle_tests,
|
||||
@@ -684,6 +685,46 @@ class NoInitializeSuiteTestRunnerTests(SimpleTestCase):
|
||||
)
|
||||
|
||||
|
||||
class TestRunnerInitializerTests(SimpleTestCase):
|
||||
|
||||
# Raise an exception to don't actually run tests.
|
||||
@mock.patch.object(
|
||||
multiprocessing, "Pool", side_effect=Exception("multiprocessing.Pool()")
|
||||
)
|
||||
def test_no_initialize_suite_test_runner(self, mocked_pool):
|
||||
class StubTestRunner(DiscoverRunner):
|
||||
def setup_test_environment(self, **kwargs):
|
||||
return
|
||||
|
||||
def setup_databases(self, **kwargs):
|
||||
return
|
||||
|
||||
def run_checks(self, databases):
|
||||
return
|
||||
|
||||
def teardown_databases(self, old_config, **kwargs):
|
||||
return
|
||||
|
||||
def teardown_test_environment(self, **kwargs):
|
||||
return
|
||||
|
||||
def run_suite(self, suite, **kwargs):
|
||||
kwargs = self.get_test_runner_kwargs()
|
||||
runner = self.test_runner(**kwargs)
|
||||
return runner.run(suite)
|
||||
|
||||
runner = StubTestRunner(verbosity=0, interactive=False, parallel=2)
|
||||
with self.assertRaisesMessage(Exception, "multiprocessing.Pool()"):
|
||||
runner.run_tests(
|
||||
[
|
||||
"test_runner_apps.sample.tests_sample.TestDjangoTestCase",
|
||||
"test_runner_apps.simple.tests",
|
||||
]
|
||||
)
|
||||
# Initializer must be a function.
|
||||
self.assertIs(mocked_pool.call_args.kwargs["initializer"], _init_worker)
|
||||
|
||||
|
||||
class Ticket17477RegressionTests(AdminScriptTestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
Reference in New Issue
Block a user