From 65d3e81ce8b98d0bde24f4d8c392c252981c7d8b Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 13 Sep 2023 00:44:50 +0200 Subject: tests/shell: ensure vgdb-pipe files are deleted from "nft-valgrind-wrapper.sh" When the valgrind process gets killed, those files can be left over. They are located in the original $TMPDIR (usually /tmp). They should be cleaned up. I tried to cleanup the files from withing "nft-valgrind-wrapper.sh" itself via a `trap`, but it doesn't work. Instead, let "run-tests.sh" delete all files with a matching pattern. Signed-off-by: Thomas Haller Signed-off-by: Florian Westphal --- tests/shell/run-tests.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tests/shell/run-tests.sh') diff --git a/tests/shell/run-tests.sh b/tests/shell/run-tests.sh index cf17302f..7ac6202c 100755 --- a/tests/shell/run-tests.sh +++ b/tests/shell/run-tests.sh @@ -426,6 +426,8 @@ fi declare -A JOBS_PIDLIST +_NFT_TEST_VALGRIND_VGDB_PREFIX= + cleanup_on_exit() { pids_search='' for pid in "${!JOBS_PIDLIST[@]}" ; do @@ -442,13 +444,17 @@ cleanup_on_exit() { if [ "$NFT_TEST_KEEP_LOGS" != y -a -n "$NFT_TEST_TMPDIR" ] ; then rm -rf "$NFT_TEST_TMPDIR" fi + if [ -n "$_NFT_TEST_VALGRIND_VGDB_PREFIX" ] ; then + rm -rf "$_NFT_TEST_VALGRIND_VGDB_PREFIX"* &>/dev/null + fi } trap 'exit 130' SIGINT trap 'exit 143' SIGTERM trap 'rc=$?; cleanup_on_exit; exit $rc' EXIT -NFT_TEST_TMPDIR="$(mktemp --tmpdir="$_TMPDIR" -d "nft-test.$(date '+%Y%m%d-%H%M%S.%3N').XXXXXX")" || +TIMESTAMP=$(date '+%Y%m%d-%H%M%S.%3N') +NFT_TEST_TMPDIR="$(mktemp --tmpdir="$_TMPDIR" -d "nft-test.$TIMESTAMP.XXXXXX")" || msg_error "Failure to create temp directory in \"$_TMPDIR\"" chmod 755 "$NFT_TEST_TMPDIR" @@ -493,6 +499,8 @@ msg_info "info: NFT_TEST_TMPDIR=$(printf '%q' "$NFT_TEST_TMPDIR")" if [ "$VALGRIND" == "y" ]; then NFT="$NFT_TEST_BASEDIR/helpers/nft-valgrind-wrapper.sh" msg_info "info: NFT=$(printf '%q' "$NFT")" + _NFT_TEST_VALGRIND_VGDB_PREFIX="$NFT_TEST_TMPDIR_ORIG/vgdb-pipe-nft-test-$TIMESTAMP.$$.$RANDOM" + export _NFT_TEST_VALGRIND_VGDB_PREFIX fi kernel_cleanup() { -- cgit v1.2.3