Home | History | Annotate | Download | only in scripts
      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