1#!/bin/bash 2 3TOPDIR="$PWD" 4FILES="$PWD"/tests/files 5 6trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT 7 8rm -rf generated/testdir 9mkdir -p generated/testdir/testdir 10 11if [ -z "$TEST_HOST" ] 12then 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 19fi 20 21cd generated/testdir 22PATH="$PWD:$PATH" 23cd testdir 24export 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 29do_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 47if [ $# -ne 0 ] 48then 49 for i in "$@" 50 do 51 do_test "$TOPDIR"/tests/$i.test 52 done 53else 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 65fi 66