summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2020-05-23 19:32:22 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-08-03 09:57:04 +0200
commitae89daf46f83a7b39d599d289624c3377bfa4ab1 (patch)
treed13424f391dc541289db612d896542856bc4080f /tests/test_runner
parent7e38a8d66f9a4fbbf373de30f1cc6be906502559 (diff)
downloaddjango-ae89daf46f83a7b39d599d289624c3377bfa4ab1.tar.gz
Fixed #31621 -- Added support for '--parallel auto' to test management command.
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_discover_runner.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py
index 327a6625ae..f62f157149 100644
--- a/tests/test_runner/test_discover_runner.py
+++ b/tests/test_runner/test_discover_runner.py
@@ -50,16 +50,31 @@ class DiscoverRunnerParallelArgumentTests(SimpleTestCase):
def test_parallel_default(self, *mocked_objects):
result = self.get_parser().parse_args([])
- self.assertEqual(result.parallel, 1)
+ self.assertEqual(result.parallel, 0)
def test_parallel_flag(self, *mocked_objects):
result = self.get_parser().parse_args(['--parallel'])
self.assertEqual(result.parallel, 12)
+ def test_parallel_auto(self, *mocked_objects):
+ result = self.get_parser().parse_args(['--parallel', 'auto'])
+ self.assertEqual(result.parallel, 12)
+
def test_parallel_count(self, *mocked_objects):
result = self.get_parser().parse_args(['--parallel', '17'])
self.assertEqual(result.parallel, 17)
+ def test_parallel_invalid(self, *mocked_objects):
+ with self.assertRaises(SystemExit), captured_stderr() as stderr:
+ self.get_parser().parse_args(['--parallel', 'unaccepted'])
+ msg = "argument --parallel: 'unaccepted' is not an integer or the string 'auto'"
+ self.assertIn(msg, stderr.getvalue())
+
+ @mock.patch.dict(os.environ, {'DJANGO_TEST_PROCESSES': '7'})
+ def test_parallel_env_var(self, *mocked_objects):
+ result = self.get_parser().parse_args([])
+ self.assertEqual(result.parallel, 7)
+
@mock.patch.dict(os.environ, {'DJANGO_TEST_PROCESSES': 'typo'})
def test_parallel_env_var_non_int(self, *mocked_objects):
with self.assertRaises(ValueError):