Documented that the parallel test runner doesn't work on Windows.

This commit is contained in:
Aymeric Augustin 2015-09-10 15:41:26 +02:00
parent 710b4a7032
commit a32206b365
3 changed files with 10 additions and 5 deletions

View File

@ -1289,7 +1289,8 @@ correctly:
$ pip install tblib $ pip install tblib
This feature isn't available on Oracle. This feature isn't available on Windows. It doesn't work with the Oracle
database backend either.
.. warning:: .. warning::

View File

@ -135,9 +135,10 @@ Each process gets its own database. You must ensure that different test cases
don't access the same resources. For instance, test cases that touch the don't access the same resources. For instance, test cases that touch the
filesystem should create a temporary directory for their own use. filesystem should create a temporary directory for their own use.
This option is enabled by default for Django's own test suite on database This option is enabled by default for Django's own test suite provided:
backends that support it (this is all the built-in backends except for
Oracle). - the OS supports it (all but Windows)
- the database backend supports it (all the built-in backends but Oracle)
Minor features Minor features
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~

View File

@ -236,8 +236,11 @@ def teardown(state):
def actual_test_processes(parallel): def actual_test_processes(parallel):
if parallel == 0: 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. # This doesn't work before django.setup() on some databases.
if all(conn.features.can_clone_databases for conn in connections.all()): elif all(conn.features.can_clone_databases for conn in connections.all()):
return default_test_processes() return default_test_processes()
else: else:
return 1 return 1