blob: 01f9ea347fe4d0d4f605dad9ffdf05d1e810e0d9 [file] [log] [blame]
Rob Landley8b479b42007-12-16 17:55:34 -06001#!/bin/bash
2
Rob Landley1ffa7f42016-03-23 03:44:51 -05003TOPDIR="$PWD"
4FILES="$PWD"/tests/files
Rob Landley8b479b42007-12-16 17:55:34 -06005
Rob Landley387edf52014-09-20 13:09:14 -05006trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT
7
8rm -rf generated/testdir
9mkdir -p generated/testdir/testdir
Rob Landley8b479b42007-12-16 17:55:34 -060010
Rob Landleye156d442008-05-04 19:44:39 -050011if [ -z "$TEST_HOST" ]
Rob Landley8b479b42007-12-16 17:55:34 -060012then
Rob Landley26f52eb2013-10-15 00:57:39 -050013 if [ $# -ne 0 ]
14 then
Rob Landley387edf52014-09-20 13:09:14 -050015 PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1
Rob Landley26f52eb2013-10-15 00:57:39 -050016 else
Rob Landley387edf52014-09-20 13:09:14 -050017 make install_flat PREFIX=generated/testdir || exit 1
Rob Landley26f52eb2013-10-15 00:57:39 -050018 fi
Rob Landley8b479b42007-12-16 17:55:34 -060019fi
20
Rob Landley387edf52014-09-20 13:09:14 -050021cd generated/testdir
Rob Landley4a855d62014-07-03 22:09:11 -050022PATH="$PWD:$PATH"
23cd testdir
Rob Landleydeb31c82016-01-15 16:58:42 -060024export LC_COLLATE=C
Rob Landley8b479b42007-12-16 17:55:34 -060025
Rob Landley387edf52014-09-20 13:09:14 -050026. "$TOPDIR"/scripts/runtest.sh
Rob Landley37256ff2008-06-22 00:57:15 -050027[ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g')
Rob Landley8b479b42007-12-16 17:55:34 -060028
Rob Landleyee14fc32016-10-18 16:52:17 -050029do_test()
30{
31 CMDNAME="${1##*/}"
32 CMDNAME="${CMDNAME%.test}"
33 [ -z "$2" ] && C="$(readlink -f ../$CMDNAME)" || C="$(which $CMDNAME)"
34 if [ ! -z "$C" ]
35 then
36 . "$1"
37 else
38 echo "$CMDNAME disabled"
39 fi
40}
41
Rob Landley8b479b42007-12-16 17:55:34 -060042if [ $# -ne 0 ]
43then
44 for i in "$@"
45 do
Rob Landleyee14fc32016-10-18 16:52:17 -050046 do_test "$TOPDIR"/tests/$i.test
Rob Landley8b479b42007-12-16 17:55:34 -060047 done
48else
Rob Landley387edf52014-09-20 13:09:14 -050049 for i in "$TOPDIR"/tests/*.test
Rob Landley8b479b42007-12-16 17:55:34 -060050 do
Rob Landleyee14fc32016-10-18 16:52:17 -050051 if [ -z "$TEST_HOST" ]
Rob Landleyc5648342008-05-04 16:03:10 -050052 then
Rob Landleyee14fc32016-10-18 16:52:17 -050053 do_test "$i" 1
Rob Landleyc5648342008-05-04 16:03:10 -050054 else
Rob Landleyee14fc32016-10-18 16:52:17 -050055 rm -rf testdir && mkdir testdir && cd testdir || exit 1
56 do_test "$i"
57 cd ..
Rob Landleyc5648342008-05-04 16:03:10 -050058 fi
Rob Landley8b479b42007-12-16 17:55:34 -060059 done
60fi