#!/bin/sh if [ $# -lt 1 ]; then echo "Usage: $0 test1.exe [...]" exit 1 fi RESCOLUMN=30 numTests=0 numFails=0 echo "Running test suite:" pad='' n=$RESCOLUMN while [ $n -gt 0 ]; do pad="$pad." n=`expr $n - 1` done for suite in "$@"; do name=`expr "${suite}" : '\(.*\)\.exe$'` echo "$name$pad" | awk '{ printf("%s ", substr($0, 0, n)); }' n=$RESCOLUMN numTests=`expr $numTests + 1` eval ./$suite >${name}.log 2>&1 if [ $? -eq 0 ]; then echo "OK" else numFails=`expr $numFails + 1` echo "FAILED" fi done echo if [ $numFails -eq 0 ]; then echo "Summary: All tests succeeded." exit 0 else percent=`expr $numFails \* 100` percent=`expr $percent / $numTests` echo "Summary: $numFails of $numTests tests failed ($percent%)." exit 1 fi