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