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
|
#!/bin/sh
passed=0
failed=0
skipped=0
# Note that we ignore *~ files as these are probably editor backups
for i in `find tests -name 'test-*[!~]' -type f | LC_ALL=C sort`;
do
./runtest "$i"
case $? in
0) passed="`expr $passed + 1`" ;;
1) failed="`expr $failed + 1`" ;;
2) skipped="`expr $skipped + 1`" ;;
esac
done
awk -v passed="$passed" -v failed="$failed" -v skipped="$skipped" '
BEGIN {
sum = passed + failed + skipped;
if (failed > 0) {
smilie = ":-("
} else if (sum == passed) {
smilie = ":-)"
} else {
# we either passed the tests or managed to sneak around them
smilie = ";-)"
}
printf("\n%s %s\n", "SUMMARY", smilie);
printf("%-12s %4d = %d%%\n", "Passed", passed, passed/sum*100);
printf("%-12s %4d = %d%%\n", "Failed", failed, failed/sum*100);
printf("%-12s %4d = %d%%\n", "Skipped", skipped, skipped/sum*100);
printf("%-12s %4d\n", "Total", sum);
}
'
exit `test "$failed" -eq 0`
|