From: Franck Bui Date: Tue, 21 Mar 2023 15:44:41 +0000 (+0100) Subject: test: $STATEDIR should not point to /usr/lib/systemd/tests when NO_BUILD=1 X-Git-Tag: v254-rc1~893^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c566150c81642a3f88e427507715579677b11e9;p=thirdparty%2Fsystemd.git test: $STATEDIR should not point to /usr/lib/systemd/tests when NO_BUILD=1 When testing the binaries from the host, make sure to not store the state data below /usr but use a dedicated directory in /var/tmp/ instead. The working directories of the tests, initially located in /var/tmp, are also moved in a dedicated directory /var/tmp/systemd-tests. --- diff --git a/test/test-functions b/test/test-functions index 77894f87562..6038b710b2b 100644 --- a/test/test-functions +++ b/test/test-functions @@ -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 @@ -3190,6 +3197,7 @@ do_test() { [[ -d $usrlibdir ]] && libdirs+=" $usrlibdir" && break done + mkdir -p "$WORKDIR" mkdir -p "$STATEDIR" import_testdir