selftests: ublk: move test temp files into a sub directory

Create and use a temporary directory for the files created during
test runs. If TMPDIR environment variable is set use it as a base
for the temporary directory path.
TMPDIR=/mnt/scratch make run_tests
and
TMPDIR=/mnt/scratch ./test_generic_01.sh
will place test directory under /mnt/scratch

Signed-off-by: Alexander Atanasov <alex@zazolabs.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Alexander Atanasov 2026-01-30 00:19:58 +08:00 committed by Jens Axboe
parent 4e0d293af9
commit 2feca79ef8

View File

@ -48,7 +48,7 @@ _create_backfile() {
old_file="${UBLK_BACKFILES[$index]}"
[ -f "$old_file" ] && rm -f "$old_file"
new_file=$(mktemp ublk_file_"${new_size}"_XXXXX)
new_file=$(mktemp ${UBLK_TEST_DIR}/ublk_file_"${new_size}"_XXXXX)
truncate -s "${new_size}" "${new_file}"
UBLK_BACKFILES["$index"]="$new_file"
}
@ -65,7 +65,7 @@ _remove_files() {
_create_tmp_dir() {
local my_file;
my_file=$(mktemp -d ublk_dir_XXXXX)
my_file=$(mktemp -d ${UBLK_TEST_DIR}/ublk_dir_XXXXX)
echo "$my_file"
}
@ -124,7 +124,9 @@ _prep_test() {
local type=$1
shift 1
modprobe ublk_drv > /dev/null 2>&1
UBLK_TMP=$(mktemp ublk_test_XXXXX)
TDIR=$(mktemp -d ${TMPDIR:-.}/ublktest-dir.XXXXXX)
export UBLK_TEST_DIR=${TDIR}
UBLK_TMP=$(mktemp ${UBLK_TEST_DIR}/ublk_test_XXXXX)
[ "$UBLK_TEST_QUIET" -eq 0 ] && echo "ublk $type: $*"
echo "ublk selftest: $TID starting at $(date '+%F %T')" | tee /dev/kmsg
}
@ -171,6 +173,7 @@ _cleanup_test() {
"${UBLK_PROG}" del -a
_remove_files
rmdir ${UBLK_TEST_DIR}
echo "ublk selftest: $TID done at $(date '+%F %T')" | tee /dev/kmsg
}
@ -405,6 +408,8 @@ UBLK_PROG=$(_ublk_test_top_dir)/kublk
UBLK_TEST_QUIET=1
UBLK_TEST_SHOW_RESULT=1
UBLK_BACKFILES=()
UBLK_TEST_DIR=${TMPDIR:-.}
export UBLK_PROG
export UBLK_TEST_QUIET
export UBLK_TEST_SHOW_RESULT
export UBLK_TEST_DIR