1#!/usr/bin/env bash
2# Run, eg as:
3# ./all.sh 2>&1 | tee test.log # break on first test
4
5# Pattern to run tests, default is all, but you may want to narrow it down
6: ${pattern:=test_*.sh}
7
8if [ $# -gt 0 ]; then
9    echo "usage: $0 # detailed logs and stop on first error. Use pattern=\"\" $0 to"
10    echo "     Use pattern=<pattern> $0 to narrow down test cases"
11    exit -1
12fi
13
14err=0
15testnr=0
16for test in $pattern; do
17    if [ $testnr != 0 ]; then echo; fi
18    testfile=$test
19    . ./$test
20    errcode=$?
21    if [ $errcode -ne 0 ]; then
22	err=1
23	echo -e "\e[31mError in $test errcode=$errcode"
24	echo -ne "\e[0m"
25	exit $errcode
26    fi
27done
28if [ $err -eq 0 ]; then
29    echo OK
30else
31    echo -e "\e[31mError"
32    echo -ne "\e[0m"
33    exit -1
34fi
35
36
37