#!/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`
