Commit 2425f6fd authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

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.
parent 64d7a553
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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:
+1 −4
Original line number Diff line number Diff line
@@ -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