1
0
Fork 0
mirror of https://passt.top/passt synced 2025-05-17 15:15:34 +02:00

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>
This commit is contained in:
David Gibson 2022-09-13 14:35:19 +10:00 committed by Stefano Brivio
parent 1e4a15398f
commit 8cb7d5b461
4 changed files with 9 additions and 1 deletions
test

View file

@ -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