| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/sh
- set -e
- FAIL=0
- PASS=0
- ALL=0
- FAILED_TESTS=""
- DIR=$(readlink -f $(dirname $0))
- if [ "$1" = "-q" ]; then
- export MSGLEVEL=2
- elif [ "$1" = "-v" ]; then
- export MSGLEVEL=4
- fi
- if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
- CTEST='\033[1;32m'
- CHIGH='\033[1;35m'
- CRESET='\033[0m'
- elif [ -z "${MSGLEVEL}" ]; then
- export MSGLEVEL=2
- fi
- if [ -z "$MSGLEVEL" ]; then
- MSGLEVEL=5
- fi
- for testcase in $(run-parts --list $DIR | grep '/test-'); do
- if [ "$MSGLEVEL" -le 2 ]; then
- echo -n "${CTEST}Testcase ${CHIGH}$(basename ${testcase})${CRESET}: "
- else
- echo "${CTEST}Run Testcase ${CHIGH}$(basename ${testcase})${CRESET}"
- fi
- if ! ${testcase}; then
- FAIL=$((FAIL+1))
- FAILED_TESTS="$FAILED_TESTS $(basename $testcase)"
- echo >&2 "$(basename $testcase) ... FAIL"
- else
- PASS=$((PASS+1))
- fi
- ALL=$((ALL+1))
- if [ "$MSGLEVEL" -le 2 ]; then
- echo
- fi
- done
- echo >&2 "Statistics: $ALL tests were run: $PASS successfully and $FAIL failed"
- if [ -n "$FAILED_TESTS" ]; then
- echo >&2 "Failed tests: $FAILED_TESTS"
- else
- echo >&2 'All tests seem to have been run successfully. What could possibly go wrong?'
- fi
- # ensure we don't overflow
- exit $((FAIL <= 255 ? FAIL : 255))
|