diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/test.sh | 28 | 
1 files changed, 19 insertions, 9 deletions
| diff --git a/scripts/test.sh b/scripts/test.sh index 1337c529..01f9ea34 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -26,25 +26,35 @@ export LC_COLLATE=C  . "$TOPDIR"/scripts/runtest.sh  [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') +do_test() +{ +  CMDNAME="${1##*/}" +  CMDNAME="${CMDNAME%.test}" +  [ -z "$2" ] && C="$(readlink -f ../$CMDNAME)" || C="$(which $CMDNAME)" +  if [ ! -z "$C" ] +  then +    . "$1" +  else +    echo "$CMDNAME disabled" +  fi +} +  if [ $# -ne 0 ]  then    for i in "$@"    do -    CMDNAME="${i##*/}" -    CMDNAME="${CMDNAME%.test}" -    . "$TOPDIR"/tests/$i.test +    do_test "$TOPDIR"/tests/$i.test    done  else    for i in "$TOPDIR"/tests/*.test    do -    CMDNAME="${i##*/}" -    CMDNAME="${CMDNAME%.test}" -    if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ] +    if [ -z "$TEST_HOST" ]      then -      cd .. && rm -rf testdir && mkdir testdir && cd testdir || exit 1 -      . $i +      do_test "$i" 1      else -      echo "$CMDNAME disabled" +      rm -rf testdir && mkdir testdir && cd testdir || exit 1 +      do_test "$i" +      cd ..      fi    done  fi | 
