summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Pitt <martin@piware.de>2017-08-07 17:30:11 +0200
committerMartin Pitt <martin@piware.de>2017-08-10 08:30:55 +0200
commit22077c9c91bff600da78bd17f19a02dfcf1a56bd (patch)
treec4415192fc0ab1ed46c4c4e97779e329fc41032a
parentcore: introduce a restart counter (#6495) (diff)
downloadsystemd-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-functions17
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 ;;