1 #!/bin/bash 2 3 TOPDIR="$PWD" 4 FILES="$PWD"/tests/files 5 6 trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT 7 8 rm -rf generated/testdir 9 mkdir -p generated/testdir/testdir 10 11 if [ -z "$TEST_HOST" ] 12 then 13 if [ $# -ne 0 ] 14 then 15 PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 16 else 17 make install_flat PREFIX=generated/testdir || exit 1 18 fi 19 fi 20 21 cd generated/testdir 22 PATH="$PWD:$PATH" 23 cd testdir 24 export LC_COLLATE=C 25 26 . "$TOPDIR"/scripts/runtest.sh 27 [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') 28 29 do_test() 30 { 31 CMDNAME="${1##*/}" 32 CMDNAME="${CMDNAME%.test}" 33 if [ -z "$TEST_HOST" ] 34 then 35 [ -z "$2" ] && C="$(readlink -f ../$CMDNAME)" || C="$(which $CMDNAME)" 36 else 37 C="$CMDNAME" 38 fi 39 if [ ! -z "$C" ] 40 then 41 . "$1" 42 else 43 echo "$CMDNAME disabled" 44 fi 45 } 46 47 if [ $# -ne 0 ] 48 then 49 for i in "$@" 50 do 51 do_test "$TOPDIR"/tests/$i.test 52 done 53 else 54 for i in "$TOPDIR"/tests/*.test 55 do 56 if [ -z "$TEST_HOST" ] 57 then 58 do_test "$i" 1 59 else 60 rm -rf testdir && mkdir testdir && cd testdir || exit 1 61 do_test "$i" 62 cd .. 63 fi 64 done 65 fi 66