diff --git a/tests/.coveragerc b/tests/.coveragerc index 822e6846a91..f1ec004854f 100644 --- a/tests/.coveragerc +++ b/tests/.coveragerc @@ -1,7 +1,7 @@ [run] branch = True concurrency = multiprocessing,thread -data_file = .coverages/.coverage +data_file = ${RUNTESTS_DIR-.}/.coverages/.coverage omit = */django/utils/autoreload.py source = django diff --git a/tests/runtests.py b/tests/runtests.py index 7daffed8986..2eb7490170a 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -71,6 +71,10 @@ tempfile.tempdir = os.environ["TMPDIR"] = TMPDIR # Removing the temporary TMPDIR. atexit.register(shutil.rmtree, TMPDIR) +# Add variables enabling coverage to trace code in subprocesses. +os.environ["RUNTESTS_DIR"] = RUNTESTS_DIR +os.environ["COVERAGE_PROCESS_START"] = os.path.join(RUNTESTS_DIR, ".coveragerc") + # This is a dict mapping RUNTESTS_DIR subdirectory to subdirectories of that # directory to skip when searching for test modules. diff --git a/tests/sitecustomize.py b/tests/sitecustomize.py new file mode 100644 index 00000000000..03fbf0c1818 --- /dev/null +++ b/tests/sitecustomize.py @@ -0,0 +1,6 @@ +try: + import coverage +except ImportError: + pass +else: + coverage.process_startup()