From: Tom Krizek Date: Thu, 12 Jan 2023 16:38:06 +0000 (+0100) Subject: Add --noclean option to pytest runner X-Git-Tag: v9.19.14~35^2~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b1a906b39dfd9a7e20e6b6746101f095787608c;p=thirdparty%2Fbind9.git Add --noclean option to pytest runner Support the --noclean option to allow the user to keep the artifacts from any test run. --- diff --git a/bin/tests/system/conftest.py b/bin/tests/system/conftest.py index 306d29701ac..30a89395e1c 100644 --- a/bin/tests/system/conftest.py +++ b/bin/tests/system/conftest.py @@ -108,6 +108,14 @@ if os.getenv("LEGACY_TEST_RUNNER", "0") == "0": # --------------------------- pytest hooks ------------------------------- + def pytest_addoption(parser): + parser.addoption( + "--noclean", + action="store_true", + default=False, + help="don't remove the temporary test directories with artifacts", + ) + def pytest_configure(): # Ensure this hook only runs on the main pytest instance if xdist is # used to spawn other workers. @@ -258,9 +266,12 @@ if os.getenv("LEGACY_TEST_RUNNER", "0") == "0": os.chdir(old_cwd) logger.debug("changed workdir to: %s", old_cwd) - # cases when tempdir should be kept are handled in follow-up commits - logger.debug("deleting temporary directory") - shutil.rmtree(testdir) + # Clean temporary dir unless it should be kept + if request.config.getoption("--noclean"): + logger.debug("--noclean requested, keeping temporary directory") + else: + logger.debug("deleting temporary directory") + shutil.rmtree(testdir) def _run_script( # pylint: disable=too-many-arguments env,