diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index dff48ac460..26702d7db7 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -1289,7 +1289,8 @@ correctly: $ 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:: diff --git a/docs/releases/1.9.txt b/docs/releases/1.9.txt index 41e7701e99..3d256ae29d 100644 --- a/docs/releases/1.9.txt +++ b/docs/releases/1.9.txt @@ -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 filesystem should create a temporary directory for their own use. -This option is enabled by default for Django's own test suite on database -backends that support it (this is all the built-in backends except for -Oracle). +This option is enabled by default for Django's own test suite provided: + +- the OS supports it (all but Windows) +- the database backend supports it (all the built-in backends but Oracle) Minor features ~~~~~~~~~~~~~~ diff --git a/tests/runtests.py b/tests/runtests.py index cfc8722ae2..4d6e22e3b2 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -236,8 +236,11 @@ 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. - 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() else: return 1