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