#!/bin/bash -e BUILD_DIR="$($(dirname "$0")/../tools/find-build-dir.sh)" if [ $# -gt 0 ]; then args="$@" else args="clean setup run" 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"