diff options
author | Martin Pitt <martin@piware.de> | 2017-08-07 17:30:11 +0200 |
---|---|---|
committer | Martin Pitt <martin@piware.de> | 2017-08-10 08:30:55 +0200 |
commit | 22077c9c91bff600da78bd17f19a02dfcf1a56bd (patch) | |
tree | c4415192fc0ab1ed46c4c4e97779e329fc41032a | |
parent | core: introduce a restart counter (#6495) (diff) | |
download | systemd-22077c9c91bff600da78bd17f19a02dfcf1a56bd.tar.xz systemd-22077c9c91bff600da78bd17f19a02dfcf1a56bd.zip |
test: Write state and log files into $BUILD_DIR
This avoids clobbering the source tree with .testdir/test.log files and
makes the tests work in situations where the source tree is read-only.
-rw-r--r-- | test/test-functions | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/test/test-functions b/test/test-functions index 61787b6d33..169dd46f73 100644 --- a/test/test-functions +++ b/test/test-functions @@ -23,6 +23,10 @@ fi BASICTOOLS="sh bash setsid loadkeys setfont login sulogin gzip sleep echo mount umount cryptsetup date dmsetup modprobe sed cmp tee rm" DEBUGTOOLS="df free ls stty cat ps ln ip route dmesg dhclient mkdir cp ping dhclient strace less grep id tty touch du sort hostname find" +STATEDIR="${BUILD_DIR:-.}/test/$(basename $(dirname $(realpath $0)))" +STATEFILE="$STATEDIR/.testdir" +TESTLOG="$STATEDIR/test.log" + function find_qemu_bin() { # SUSE and Red Hat call the binary qemu-kvm # Debian and Gentoo call it kvm @@ -626,7 +630,6 @@ inst_libs() { } import_testdir() { - STATEFILE=".testdir" [[ -e $STATEFILE ]] && . $STATEFILE if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then TESTDIR=$(mktemp --tmpdir=/var/tmp -d -t systemd-test.XXXXXX) @@ -1421,6 +1424,8 @@ do_test() { [[ -d $usrlibdir ]] && libdirs+=" $usrlibdir" && break done + mkdir -p "$STATEDIR" + import_testdir import_initdir @@ -1444,7 +1449,7 @@ do_test() { echo "TEST CLEANUP: $TEST_DESCRIPTION" test_cleanup rm -fr "$TESTDIR" - rm -f .testdir + rm -f "$STATEFILE" exit $?;; --all) echo -n "TEST: $TEST_DESCRIPTION "; @@ -1453,16 +1458,16 @@ do_test() { ret=$? test_cleanup rm -fr "$TESTDIR" - rm -f .testdir + rm -f "$STATEFILE" exit $ret - ) </dev/null >test.log 2>&1 + ) </dev/null >"$TESTLOG" 2>&1 ret=$? if [ $ret -eq 0 ]; then - rm test.log + rm "$TESTLOG" echo "[OK]" else echo "[FAILED]" - echo "see $(pwd)/test.log" + echo "see $TESTLOG" fi exit $ret;; *) break ;; |