summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2022-02-12 20:40:12 +0000
committerCarlton Gibson <carlton@noumenal.es>2022-03-15 16:23:55 +0100
commit3b3f38b3b09b0f2373e51406ecb8c9c45d36aebc (patch)
tree8ab2c436451318223606470fcdc23b6dc690da20 /tests/test_runner
parent3eaba13a476c14b75429ba34180184b81997b33a (diff)
downloaddjango-3b3f38b3b09b0f2373e51406ecb8c9c45d36aebc.tar.gz
Fixed #31169 -- Adapted the parallel test runner to use spawn.
Co-authored-by: Valz <ahmadahussein0@gmail.com> Co-authored-by: Nick Pope <nick@nickpope.me.uk>
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_discover_runner.py10
-rw-r--r--tests/test_runner/tests.py10
2 files changed, 14 insertions, 6 deletions
diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py
index fd36f0ab89..bca9037492 100644
--- a/tests/test_runner/test_discover_runner.py
+++ b/tests/test_runner/test_discover_runner.py
@@ -86,6 +86,16 @@ class DiscoverRunnerParallelArgumentTests(SimpleTestCase):
mocked_cpu_count,
):
mocked_get_start_method.return_value = "spawn"
+ self.assertEqual(get_max_test_processes(), 12)
+ with mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"}):
+ self.assertEqual(get_max_test_processes(), 7)
+
+ def test_get_max_test_processes_forkserver(
+ self,
+ mocked_get_start_method,
+ mocked_cpu_count,
+ ):
+ mocked_get_start_method.return_value = "forkserver"
self.assertEqual(get_max_test_processes(), 1)
with mock.patch.dict(os.environ, {"DJANGO_TEST_PROCESSES": "7"}):
self.assertEqual(get_max_test_processes(), 1)
diff --git a/tests/test_runner/tests.py b/tests/test_runner/tests.py
index 665f2c5ef8..c50c54f25c 100644
--- a/tests/test_runner/tests.py
+++ b/tests/test_runner/tests.py
@@ -480,8 +480,6 @@ class ManageCommandTests(unittest.TestCase):
# Isolate from the real environment.
@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.
-@mock.patch.object(multiprocessing, "get_start_method", return_value="fork")
class ManageCommandParallelTests(SimpleTestCase):
def test_parallel_default(self, *mocked_objects):
with captured_stderr() as stderr:
@@ -507,8 +505,8 @@ class ManageCommandParallelTests(SimpleTestCase):
# Parallel is disabled by default.
self.assertEqual(stderr.getvalue(), "")
- def test_parallel_spawn(self, mocked_get_start_method, mocked_cpu_count):
- mocked_get_start_method.return_value = "spawn"
+ @mock.patch.object(multiprocessing, "get_start_method", return_value="spawn")
+ def test_parallel_spawn(self, *mocked_objects):
with captured_stderr() as stderr:
call_command(
"test",
@@ -517,8 +515,8 @@ class ManageCommandParallelTests(SimpleTestCase):
)
self.assertIn("parallel=1", stderr.getvalue())
- def test_no_parallel_spawn(self, mocked_get_start_method, mocked_cpu_count):
- mocked_get_start_method.return_value = "spawn"
+ @mock.patch.object(multiprocessing, "get_start_method", return_value="spawn")
+ def test_no_parallel_spawn(self, *mocked_objects):
with captured_stderr() as stderr:
call_command(
"test",