diff options
author | Niels Möller <nisse@lysator.liu.se> | 2003-02-18 21:07:40 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2003-02-18 21:07:40 +0100 |
commit | aa4b6ceded2575362d6fd854cb77e50c40c65eb0 (patch) | |
tree | 5e8b1e1a753436c879f7256d7bffb9825e489b86 /run-tests | |
parent | 6f796e792e956ef31f7949f437f7d3dae2c04273 (diff) | |
download | nettle-aa4b6ceded2575362d6fd854cb77e50c40c65eb0.tar.gz |
Moved testsuite driver here, and
symlink it from all directories that need it.
Rev: misc/run-tests:1.1
Diffstat (limited to 'run-tests')
-rwxr-xr-x | run-tests | 69 |
1 files changed, 69 insertions, 0 deletions
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 ] + |