]> git.ipfire.org Git - thirdparty/systemd.git/blob - test/run-integration-tests.sh
Merge pull request #15252 from ssahani/dhcpv6-mud
[thirdparty/systemd.git] / test / run-integration-tests.sh
1 #!/usr/bin/env bash
2 set -e
3
4 BUILD_DIR="$($(dirname "$0")/../tools/find-build-dir.sh)"
5 if [ $# -gt 0 ]; then
6 args="$@"
7 do_clean=0
8 else
9 args="setup run clean-again"
10 do_clean=1
11 fi
12
13 ninja -C "$BUILD_DIR"
14
15 declare -A results
16
17 COUNT=0
18 FAILURES=0
19
20 cd "$(dirname "$0")"
21
22 if [ $do_clean = 1 ]; then
23 for TEST in TEST-??-* ; do
24 ( set -x ; make -C "$TEST" "BUILD_DIR=$BUILD_DIR" clean )
25 done
26 fi
27
28 for TEST in TEST-??-* ; do
29 COUNT=$(($COUNT+1))
30
31 echo -e "\n--x-- Running $TEST --x--"
32 set +e
33 ( set -x ; make -C "$TEST" "BUILD_DIR=$BUILD_DIR" $args )
34 RESULT=$?
35 set -e
36 echo "--x-- Result of $TEST: $RESULT --x--"
37
38 results["$TEST"]="$RESULT"
39
40 [ "$RESULT" -ne "0" ] && FAILURES=$(($FAILURES+1))
41 done
42
43 if [ $FAILURES -eq 0 -a $do_clean = 1 ]; then
44 for TEST in TEST-??-* ; do
45 ( set -x ; make -C "$TEST" "BUILD_DIR=$BUILD_DIR" clean-again )
46 done
47 fi
48
49 echo ""
50
51 for TEST in ${!results[@]}; do
52 RESULT="${results[$TEST]}"
53 if [ "$RESULT" -eq "0" ] ; then
54 echo "$TEST: SUCCESS"
55 else
56 echo "$TEST: FAIL"
57 fi
58 done | sort
59
60 if [ "$FAILURES" -eq 0 ] ; then
61 echo -e "\nALL $COUNT TESTS PASSED"
62 else
63 echo -e "\nTOTAL FAILURES: $FAILURES OF $COUNT"
64 fi
65
66 exit "$FAILURES"