1#!/bin/bash 2 3source scripts/runtest.sh 4source scripts/portability.sh 5 6TOPDIR="$PWD" 7FILES="$PWD"/tests/files 8 9trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT 10 11rm -rf generated/testdir 12mkdir -p generated/testdir/testdir 13 14if [ -z "$TEST_HOST" ] 15then 16 if [ $# -ne 0 ] 17 then 18 PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 19 else 20 make install_flat PREFIX=generated/testdir || exit 1 21 fi 22fi 23 24cd generated/testdir 25PATH="$PWD:$PATH" 26TESTDIR="$PWD" 27export LC_COLLATE=C 28 29[ -f "$TOPDIR/generated/config.h" ] && 30 export OPTIONFLAGS=:$(echo $($SED -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | $SED 's/ /:/g') 31 32do_test() 33{ 34 cd "$TESTDIR" && rm -rf testdir && mkdir testdir && cd testdir || exit 1 35 CMDNAME="${1##*/}" 36 CMDNAME="${CMDNAME%.test}" 37 C="$CMDNAME" 38 if [ -z "$TEST_HOST" ] 39 then 40 C="$TESTDIR/$CMDNAME" 41 [ ! -e "$C" ] && echo "$CMDNAME disabled" && return 42 fi 43 44 . "$1" 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 [ -z "$TEST_ALL" ] && [ ! -x "$i" ] && continue 57 do_test "$i" 58 done 59fi 60