Improve tempdir logging for pytest runner

At the end of the test, display the symlink path to the artifact
directory in case it's preserved. Log the full tempdir name in debug
log.

(cherry picked from commit f91d0b13e8)
This commit is contained in:
Tom Krizek 2023-08-10 16:24:38 +02:00
parent 89e6d1bc26
commit 4f6ea4fa1b
No known key found for this signature in database
GPG key ID: 01623B9B652A20A7

View file

@ -452,7 +452,7 @@ else:
# System tests are meant to be executed from their directory - switch to it.
old_cwd = os.getcwd()
os.chdir(testdir)
mlogger.info("switching to tmpdir: %s", testdir)
mlogger.debug("switching to tmpdir: %s", testdir)
try:
yield testdir # other fixtures / tests will execute here
finally:
@ -462,13 +462,27 @@ else:
result = get_test_result()
# Clean temporary dir unless it should be kept
keep = False
if request.config.getoption("--noclean"):
mlogger.debug("--noclean requested, keeping temporary directory")
mlogger.debug(
"--noclean requested, keeping temporary directory %s", testdir
)
keep = True
elif result == "failed":
mlogger.debug("test failure detected, keeping temporary directory")
mlogger.debug(
"test failure detected, keeping temporary directory %s", testdir
)
keep = True
elif not request.node.stash[FIXTURE_OK]:
mlogger.debug(
"test setup/teardown issue detected, keeping temporary directory"
"test setup/teardown issue detected, keeping temporary directory %s",
testdir,
)
keep = True
if keep:
mlogger.info(
"test artifacts in: %s", symlink_dst.relative_to(system_test_root)
)
else:
mlogger.debug("deleting temporary directory")