mirror of
https://github.com/django/django.git
synced 2024-12-22 09:05:43 +00:00
Refs #35844 -- Fixed tests for test --parallel option on Python 3.14+.
"forkserver" is the new default on POSIX systems, and Django doesn't
support parallel tests with "forkserver":
b65f2cdfa7
This commit is contained in:
parent
2d612162d8
commit
34066d6cf3
@ -45,6 +45,7 @@ def change_loader_patterns(patterns):
|
||||
@mock.patch.dict(os.environ, {}, clear=True)
|
||||
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
||||
# Python 3.8 on macOS defaults to 'spawn' mode.
|
||||
# Python 3.14 on POSIX systems defaults to 'forkserver' mode.
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
class DiscoverRunnerParallelArgumentTests(SimpleTestCase):
|
||||
def get_parser(self):
|
||||
|
@ -506,6 +506,7 @@ class ManageCommandTests(unittest.TestCase):
|
||||
@mock.patch.dict(os.environ, {}, clear=True)
|
||||
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
||||
class ManageCommandParallelTests(SimpleTestCase):
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
def test_parallel_default(self, *mocked_objects):
|
||||
with captured_stderr() as stderr:
|
||||
call_command(
|
||||
@ -515,6 +516,7 @@ class ManageCommandParallelTests(SimpleTestCase):
|
||||
)
|
||||
self.assertIn("parallel=12", stderr.getvalue())
|
||||
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
def test_parallel_auto(self, *mocked_objects):
|
||||
with captured_stderr() as stderr:
|
||||
call_command(
|
||||
@ -550,12 +552,14 @@ class ManageCommandParallelTests(SimpleTestCase):
|
||||
self.assertEqual(stderr.getvalue(), "")
|
||||
|
||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"})
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
def test_no_parallel_django_test_processes_env(self, *mocked_objects):
|
||||
with captured_stderr() as stderr:
|
||||
call_command("test", testrunner="test_runner.tests.MockTestRunner")
|
||||
self.assertEqual(stderr.getvalue(), "")
|
||||
|
||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "invalid"})
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
def test_django_test_processes_env_non_int(self, *mocked_objects):
|
||||
with self.assertRaises(ValueError):
|
||||
call_command(
|
||||
@ -565,6 +569,7 @@ class ManageCommandParallelTests(SimpleTestCase):
|
||||
)
|
||||
|
||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"})
|
||||
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||
def test_django_test_processes_parallel_default(self, *mocked_objects):
|
||||
for parallel in ["--parallel", "--parallel=auto"]:
|
||||
with self.subTest(parallel=parallel):
|
||||
|
Loading…
Reference in New Issue
Block a user