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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#!/usr/bin/env bash
#
# Copyright IBM Corp. 2020
#
# Usage: runtests <make> <tests>
#
MAKE="$1"
shift
TESTS=""
OPTS=''
MAKE_OPTS=''
while [ $# -gt 0 ] ; do
OPT=$1
shift
case $OPT in
--script-args )
OPTS="$OPTS $1"
MAKE_OPTS="$MAKE_OPTS TESTCASE_ARGS=$1"
shift
;;
--coverage )
COVER_DB=$1
shift
OPTS="$OPTS $OPT $COVER_DB"
MAKE_OPTS="$MAKE_OPTS COVER_DB=../$COVER_DB"
;;
* )
TESTS="$TESTS $OPT"
;;
esac
done
if [[ "${V:-0}" -lt 1 ]] ; then
MAKE_OPTS="$MAKE_OPTS -s"
fi
if [[ -z "${_TESTS_RUNNING}" ]] ; then
# Do this only once at start of test run
export _TESTS_RUNNING=1
testsuite_init
trap testsuite_exit exit
# Suppress test results on keyboard interrupt
trap "trap exit ; exit 1" SIGINT
fi
for TEST in ${TESTS} ; do
if [[ -d "${TEST}" ]] ; then
# Enter sub-directory
#echo enter test directory ${TEST}
${MAKE} -C "${TEST}" $MAKE_OPTS check || exit 1
else
# Enter test
ABS_TEST="$PWD/$TEST"
REL_TEST="${ABS_TEST##$TOPDIR}"
test_run "${REL_TEST}" "${ABS_TEST} $OPTS" </dev/null || exit 1
fi
done
exit 0
|