mirror of
https://github.com/django/django.git
synced 2024-11-21 19:09:18 +01: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.dict(os.environ, {}, clear=True)
|
||||||
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
||||||
# Python 3.8 on macOS defaults to 'spawn' mode.
|
# 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")
|
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||||
class DiscoverRunnerParallelArgumentTests(SimpleTestCase):
|
class DiscoverRunnerParallelArgumentTests(SimpleTestCase):
|
||||||
def get_parser(self):
|
def get_parser(self):
|
||||||
|
@ -506,6 +506,7 @@ class ManageCommandTests(unittest.TestCase):
|
|||||||
@mock.patch.dict(os.environ, {}, clear=True)
|
@mock.patch.dict(os.environ, {}, clear=True)
|
||||||
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
@mock.patch.object(multiprocessing, "cpu_count", return_value=12)
|
||||||
class ManageCommandParallelTests(SimpleTestCase):
|
class ManageCommandParallelTests(SimpleTestCase):
|
||||||
|
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||||
def test_parallel_default(self, *mocked_objects):
|
def test_parallel_default(self, *mocked_objects):
|
||||||
with captured_stderr() as stderr:
|
with captured_stderr() as stderr:
|
||||||
call_command(
|
call_command(
|
||||||
@ -515,6 +516,7 @@ class ManageCommandParallelTests(SimpleTestCase):
|
|||||||
)
|
)
|
||||||
self.assertIn("parallel=12", stderr.getvalue())
|
self.assertIn("parallel=12", stderr.getvalue())
|
||||||
|
|
||||||
|
@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
|
||||||
def test_parallel_auto(self, *mocked_objects):
|
def test_parallel_auto(self, *mocked_objects):
|
||||||
with captured_stderr() as stderr:
|
with captured_stderr() as stderr:
|
||||||
call_command(
|
call_command(
|
||||||
@ -550,12 +552,14 @@ class ManageCommandParallelTests(SimpleTestCase):
|
|||||||
self.assertEqual(stderr.getvalue(), "")
|
self.assertEqual(stderr.getvalue(), "")
|
||||||
|
|
||||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"})
|
@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):
|
def test_no_parallel_django_test_processes_env(self, *mocked_objects):
|
||||||
with captured_stderr() as stderr:
|
with captured_stderr() as stderr:
|
||||||
call_command("test", testrunner="test_runner.tests.MockTestRunner")
|
call_command("test", testrunner="test_runner.tests.MockTestRunner")
|
||||||
self.assertEqual(stderr.getvalue(), "")
|
self.assertEqual(stderr.getvalue(), "")
|
||||||
|
|
||||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "invalid"})
|
@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):
|
def test_django_test_processes_env_non_int(self, *mocked_objects):
|
||||||
with self.assertRaises(ValueError):
|
with self.assertRaises(ValueError):
|
||||||
call_command(
|
call_command(
|
||||||
@ -565,6 +569,7 @@ class ManageCommandParallelTests(SimpleTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"})
|
@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):
|
def test_django_test_processes_parallel_default(self, *mocked_objects):
|
||||||
for parallel in ["--parallel", "--parallel=auto"]:
|
for parallel in ["--parallel", "--parallel=auto"]:
|
||||||
with self.subTest(parallel=parallel):
|
with self.subTest(parallel=parallel):
|
||||||
|
Loading…
Reference in New Issue
Block a user