aboutgitcodebugslistschat
path: root/test/run
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-09-13 14:35:19 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-09-13 11:12:41 +0200
commit8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8 (patch)
tree8283faa84c398d39581ed31bfc15b0fc564780d6 /test/run
parent1e4a15398f2f932e290ab222d2d57a47018f2245 (diff)
downloadpasst-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar.gz
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar.bz2
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar.lz
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar.xz
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.tar.zst
passt-8cb7d5b461f0fc7c49fcb5cd6b0ce8dfcb15fce8.zip
test: Create common state directories for temporary files
The test scripts create a bunch of temporary files to keep track of internal state. Some are made in /tmp with individual mktemp calls, some go in the passt source directory, and some go in $LOGDIR. This can sometimes make it messy to clean up after failed test runs. Start cleaning this up by creating a single "state" directory ($STATEBASE) in /tmp for all the state or temporary files used by a single test run. Clean it up automatically in cleanup() - except when DEBUG==1, because those files can be useful for debugging test script failures. We create subdirectories under $STATEBASE for each setup function, exposed as $STATESETUP. We also create subdirectories for each test script and expose those to the scripts as __STATEDIR__. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'test/run')
-rwxr-xr-xtest/run2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/run b/test/run
index 9b0227b..58d9b49 100755
--- a/test/run
+++ b/test/run
@@ -48,6 +48,7 @@ COMMIT="$(git log --oneline --no-decorate -1)"
# cleanup() - Remove temporary files
cleanup() {
+ [ ${DEBUG} -eq 1 ] || rm -rf "${STATEBASE}"
rm -f /tmp/.passt_test_log_pipe
}
@@ -176,6 +177,7 @@ else
rm -rf "${LOGDIR}"
mkdir -p "${LOGDIR}"
:> "${LOGFILE}"
+ STATEBASE="$(mktemp -d --tmpdir passt-tests-XXXXXX)"
trap "cleanup" EXIT
run_term
fi