diff options
-rw-r--r-- | test/test-functions | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/test-functions b/test/test-functions index 77894f8756..e0cc6a85a5 100644 --- a/test/test-functions +++ b/test/test-functions @@ -107,10 +107,10 @@ fi TEST_BASE_DIR=${TEST_BASE_DIR:-$(realpath "$(dirname "${BASH_SOURCE[0]}")")} TEST_UNITS_DIR="$(realpath "$TEST_BASE_DIR/units")" SOURCE_DIR=$(realpath "$TEST_BASE_DIR/..") -TOOLS_DIR="$SOURCE_DIR/tools" # These variables are used by test scripts -export TEST_BASE_DIR TEST_UNITS_DIR SOURCE_DIR TOOLS_DIR +export TEST_BASE_DIR TEST_UNITS_DIR SOURCE_DIR +TOOLS_DIR="$SOURCE_DIR/tools" # note that find-build-dir.sh will return $BUILD_DIR if provided, else it will try to find it if get_bool "${NO_BUILD:=}"; then BUILD_DIR="$SOURCE_DIR" @@ -133,7 +133,14 @@ if [ -z "$TESTFILE" ]; then exit 1 fi TESTNAME="$(basename "$(dirname "$(realpath "$TESTFILE")")")" -STATEDIR="$BUILD_DIR/test/$TESTNAME" + +WORKDIR="/var/tmp/systemd-tests" +if get_bool "${NO_BUILD:=}"; then + STATEDIR="$WORKDIR/$TESTNAME" +else + STATEDIR="$BUILD_DIR/test/$TESTNAME" +fi + STATEFILE="$STATEDIR/.testdir" IMAGESTATEDIR="$STATEDIR/.." TESTLOG="$STATEDIR/test.log" @@ -2228,7 +2235,7 @@ import_testdir() { LOOPDEV="$_LOOPDEV" if [[ ! -d "$TESTDIR" ]]; then if [[ -z "$TESTDIR" ]]; then - TESTDIR="$(mktemp --tmpdir=/var/tmp -d -t systemd-test.XXXXXX)" + TESTDIR="$(mktemp --tmpdir=$WORKDIR -d -t systemd-test.XXXXXX)" else mkdir -p "$TESTDIR" fi @@ -3029,6 +3036,7 @@ _test_cleanup() { fi [[ -n "$TESTDIR" ]] && rm -vfr "$TESTDIR" [[ -n "$STATEFILE" ]] && rm -vf "$STATEFILE" + [[ -n "$STATEDIR" ]] && rm -vfr "$STATEDIR" ) || : } @@ -3190,6 +3198,7 @@ do_test() { [[ -d $usrlibdir ]] && libdirs+=" $usrlibdir" && break done + mkdir -p "$WORKDIR" mkdir -p "$STATEDIR" import_testdir |