diff options
Diffstat (limited to 'test/run-integration-tests.sh')
-rwxr-xr-x | test/run-integration-tests.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/run-integration-tests.sh b/test/run-integration-tests.sh new file mode 100755 index 0000000..0d23771 --- /dev/null +++ b/test/run-integration-tests.sh @@ -0,0 +1,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" |