summaryrefslogtreecommitdiffstats
path: root/test/run-integration-tests.sh
blob: 0d2377128eb3948ca9a9a91b8dedb4aa15e99f20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash -e

BUILD_DIR="$($(dirname "$0")/../tools/find-build-dir.sh)"
if [ $# -gt 0 ]; then
        args="$@"
else
        args="clean setup run clean-again"
fi

ninja -C "$BUILD_DIR"

declare -A results

COUNT=0
FAILURES=0

cd "$(dirname "$0")"
for TEST in TEST-??-* ; do
        COUNT=$(($COUNT+1))

        echo -e "\n--x-- Running $TEST --x--"
        set +e
        ( set -x ; make -C "$TEST" "BUILD_DIR=$BUILD_DIR" $args )
        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 $COUNT TESTS PASSED"
else
        echo -e "\nTOTAL FAILURES: $FAILURES OF $COUNT"
fi

exit "$FAILURES"