aboutsummaryrefslogtreecommitdiff
path: root/test/run-suites
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2009-12-14 23:01:36 +0200
committerPetri Lehtinen <petri@digip.org>2009-12-16 22:45:29 +0200
commit3add1cf36183d4acefa11ae1c0acd6d92719ac02 (patch)
tree35d78d90d0d5d032d1142968ac81ad4667f28016 /test/run-suites
parent50031440a3b7ab2623e9468bd20e837250250cd9 (diff)
downloadjansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.zip
jansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.tar.gz
jansson-3add1cf36183d4acefa11ae1c0acd6d92719ac02.tar.bz2
Refactor the test system
Diffstat (limited to 'test/run-suites')
-rwxr-xr-xtest/run-suites46
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