From 1ab2cf7994a6f1116a96fbaedd7cadbd4b754179 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Mon, 4 Sep 2023 12:30:49 -0400 Subject: [PATCH] Fixed #34810 -- Measured test coverage on django-admin commands. --- tests/.coveragerc | 2 +- tests/runtests.py | 4 ++++ tests/sitecustomize.py | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 tests/sitecustomize.py 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()