From aa4b6ceded2575362d6fd854cb77e50c40c65eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Tue, 18 Feb 2003 21:07:40 +0100 Subject: [PATCH] Moved testsuite driver here, and symlink it from all directories that need it. Rev: misc/run-tests:1.1 --- run-tests | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 run-tests diff --git a/run-tests b/run-tests new file mode 100755 index 00000000..87a04a46 --- /dev/null +++ b/run-tests @@ -0,0 +1,69 @@ +#! /bin/sh + +failed=0 +all=0 + +if [ -z "$srcdir" ] ; then + srcdir=`pwd` +fi + +export srcdir + +find_program () { + if [ -x "$1" ] ; then + echo "./$1" + else + echo "$srcdir/$1" + fi +} + +env_program () { + if [ -x "$1" ] ; then + if "$1"; then : ; else + echo FAIL: $1 + exit 1 + fi + fi +} + +test_program () { + testname=`basename "$1" -test` + "$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 `find_program setup-env` + +if [ $# -eq 0 ] ; then + for f in *-test; do test_program "./$f"; done +else + for f in "$@" ; do test_program `find_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 `find_program teardown-env` + +[ "$failed" -eq 0 ] + -- GitLab