123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/sh
- mkdir -p NEW
- mkdir -p DIFF
- passed=0
- failed=0
- cat /dev/null > failure-outputs.txt
- runComplexTests()
- {
- for i in *.sh
- do
- case $i in TEST*.sh) continue;; esac
- sh ./$i
- done
- }
- runSimpleTests()
- {
- passed=`cat .passed`
- failed=`cat .failed`
- only=$1
- cat TESTLIST | while read name input output options
- do
- case $name in
- \#*) continue;;
- '') continue;;
- esac
- rm -f core
- [ "$only" != "" -a "$name" != "$only" ] && continue
- if ./TESTonce $name $input $output "$options"
- then
- passed=`expr $passed + 1`
- echo $passed >.passed
- else
- failed=`expr $failed + 1`
- echo $failed >.failed
- fi
- [ "$only" != "" -a "$name" = "$only" ] && break
- done
- # I hate shells with their stupid, useless subshells.
- passed=`cat .passed`
- failed=`cat .failed`
- }
- echo $passed >.passed
- echo $failed >.failed
- if [ $# -eq 0 ]
- then
- runComplexTests
- runSimpleTests
- elif [ $# -eq 1 ]
- then
- runSimpleTests $1
- else
- echo "Usage: $0 [test_name]"
- exit 30
- fi
- # exit with number of failing tests.
- echo '------------------------------------------------'
- printf "%4u tests failed\n" $failed
- printf "%4u tests passed\n" $passed
- echo
- echo
- cat failure-outputs.txt
- echo
- echo
- exit $failed
|