]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add a simple script that runs all our integration tests one after the other
authorLennart Poettering <lennart@poettering.net>
Tue, 28 Nov 2017 18:42:15 +0000 (19:42 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 5 Dec 2017 12:49:13 +0000 (13:49 +0100)
test/run-integration-tests.sh [new file with mode: 0755]

diff --git a/test/run-integration-tests.sh b/test/run-integration-tests.sh
new file mode 100755 (executable)
index 0000000..3ece46c
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash -e
+
+if ! test -d ../build ; then
+        echo "Expected build directory in ../build, but couldn't find it." >&2
+        exit 1
+fi
+
+ninja -C ../build
+
+declare -A results
+
+RESULT=0
+FAILURES=0
+
+for TEST in TEST-??-* ; do
+        echo -e "\n--x-- Starting $TEST --x--"
+        set +e
+        make -C "$TEST" BUILD_DIR=$(pwd)/../build clean setup run
+        RESULT=$?
+        set -e
+        echo "--x-- Result of $TEST: $RESULT --x--"
+
+        results["$TEST"]="$RESULT"
+
+        [ "$RESULT" -ne "0" ] && FAILURES=$(($FAILURES+1))
+done
+
+echo ""
+
+for TEST in ${!results[@]}; do
+        RESULT="${results[$TEST]}"
+        if [ "$RESULT" -eq "0" ] ; then
+                echo "$TEST: SUCCESS"
+        else
+                echo "$TEST: FAIL"
+        fi
+done | sort
+
+if [ "$FAILURES" -eq 0 ] ; then
+        echo -e "\nALL PASSED"
+else
+        echo -e "\nTOTAL FAILURES: $FAILURES"
+fi
+
+exit "$FAILURES"