diff options
author | Petri Lehtinen <petri@digip.org> | 2009-12-14 23:01:36 +0200 |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2009-12-16 22:45:29 +0200 |
commit | 3add1cf36183d4acefa11ae1c0acd6d92719ac02 (patch) | |
tree | 35d78d90d0d5d032d1142968ac81ad4667f28016 /test/run-suites | |
parent | 50031440a3b7ab2623e9468bd20e837250250cd9 (diff) | |
download | jansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.zip jansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.tar.gz jansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.tar.bz2 |
Refactor the test system
Diffstat (limited to 'test/run-suites')
-rwxr-xr-x | test/run-suites | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/run-suites b/test/run-suites new file mode 100755 index 0000000..e736004 --- /dev/null +++ b/test/run-suites @@ -0,0 +1,46 @@ +#!/bin/sh + +while [ -n "$1" ]; do + suite=$1 + if [ -x $top_srcdir/test/suites/$suite/run ]; then + SUITES="$SUITES $suite" + else + echo "No such suite: $suite" + exit 1 + fi + shift +done + +if [ -z "$SUITES" ]; then + suitedirs=$top_srcdir/test/suites/* + for suitedir in $suitedirs; do + if [ -x $suitedir/run ]; then + SUITES="$SUITES `basename $suitedir`" + fi + done +fi + +export suites_srcdir=$top_srcdir/test/suites +export suites_builddir=suites +export scriptdir=$top_srcdir/test/scripts +export logdir=logs +export bindir=bin + +passed=0 +failed=0 +for suite in $SUITES; do + echo "Suite: $suite" + if $suites_srcdir/$suite/run $suite; then + passed=$(($passed+1)) + else + failed=$(($failed+1)) + fi +done + +if [ $failed -gt 0 ]; then + echo "$failed of $((passed+failed)) test suites failed" + exit 1 +else + echo "$passed test suites passed" + rm -rf $logdir +fi |