Prevented --parallel from crashing on Windows.
Since --parallel is documented not to work on Windows, it's better to ignore it and run without parallelization than to crash. For example this could simplify cross-platform test scripts.
This commit is contained in:
parent
64d7a553e1
commit
2425f6fda0
|
@ -211,6 +211,11 @@ def default_test_processes():
|
|||
"""
|
||||
Default number of test processes when using the --parallel option.
|
||||
"""
|
||||
# The current implementation of the parallel test runner requires
|
||||
# multiprocessing to start subprocesses with fork().
|
||||
# On Python 3.4+: if multiprocessing.get_start_method() != 'fork':
|
||||
if not hasattr(os, 'fork'):
|
||||
return 1
|
||||
try:
|
||||
return int(os.environ['DJANGO_TEST_PROCESSES'])
|
||||
except KeyError:
|
||||
|
|
|
@ -236,11 +236,8 @@ def teardown(state):
|
|||
|
||||
def actual_test_processes(parallel):
|
||||
if parallel == 0:
|
||||
# On Python 3.4+: if multiprocessing.get_start_method() != 'fork':
|
||||
if not hasattr(os, 'fork'):
|
||||
return 1
|
||||
# This doesn't work before django.setup() on some databases.
|
||||
elif all(conn.features.can_clone_databases for conn in connections.all()):
|
||||
if all(conn.features.can_clone_databases for conn in connections.all()):
|
||||
return default_test_processes()
|
||||
else:
|
||||
return 1
|
||||
|
|
Loading…
Reference in New Issue