summaryrefslogtreecommitdiff
path: root/test/run-integration-tests.sh
blob: 74fd64d24a7183b8c13c020eb2158f7a56509814 (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"