4cbaa8b147b29ddbd4d58e1c76a466a6713dfea5
[jansson.git] / test / run-suites
1 #!/bin/sh
2
3 while [ -n "$1" ]; do
4     suite=$1
5     if [ -x $top_srcdir/test/suites/$suite/run ]; then
6         SUITES="$SUITES $suite"
7     else
8         echo "No such suite: $suite"
9         exit 1
10     fi
11     shift
12 done
13
14 if [ -z "$SUITES" ]; then
15     suitedirs=$top_srcdir/test/suites/*
16     for suitedir in $suitedirs; do
17         if [ -d $suitedir ]; then
18             SUITES="$SUITES `basename $suitedir`"
19         fi
20     done
21 fi
22
23 [ -z "$STOP" ] && STOP=0
24
25 suites_srcdir=$top_srcdir/test/suites
26 suites_builddir=suites
27 scriptdir=$top_srcdir/test/scripts
28 logdir=logs
29 bindir=bin
30 export suites_srcdir suites_builddir scriptdir logdir bindir
31
32 passed=0
33 failed=0
34 for suite in $SUITES; do
35     echo "Suite: $suite"
36     if $suites_srcdir/$suite/run $suite; then
37         passed=$(($passed+1))
38     else
39         failed=$(($failed+1))
40         [ $STOP -eq 1 ] && break
41     fi
42 done
43
44 if [ $failed -gt 0 ]; then
45     echo "$failed of $((passed+failed)) test suites failed"
46     exit 1
47 else
48     echo "$passed test suites passed"
49     rm -rf $logdir
50 fi