#! /bin/sh failed=0 all=0 env_program () { if [ -x ./"$1" ] ; then if ./"$1"; then : ; else echo FAIL: $1 exit 1 fi fi } test_program () { testname=`echo "$1" | sed -e 's,-test$,,' -e 's,^\./,,'` "./$1" case "$?" in 0) echo PASS: $testname all=`expr $all + 1` ;; 77) echo SKIP: $testname ;; *) echo FAIL: $testname failed=`expr $failed + 1` all=`expr $all + 1` ;; esac } env_program setup-env if [ $# -eq 0 ] ; then for f in *-test; do test_program "$f"; done else for f in "$@" ; do test_program "$f"; done fi if [ $failed -eq 0 ] ; then banner="All $all tests passed" else banner="$failed of $all tests failed" fi dashes=`echo "$banner" | sed s/./=/g` echo "$dashes" echo "$banner" echo "$dashes" env_program teardown-env [ "$failed" -eq 0 ]