Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 1 | #!/bin/bash |
2 | |||||
Rob Landley | 1ffa7f4 | 2016-03-23 03:44:51 -0500 | [diff] [blame] | 3 | TOPDIR="$PWD" |
4 | FILES="$PWD"/tests/files | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 5 | |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 6 | trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT |
7 | |||||
8 | rm -rf generated/testdir | ||||
9 | mkdir -p generated/testdir/testdir | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 10 | |
Rob Landley | e156d44 | 2008-05-04 19:44:39 -0500 | [diff] [blame] | 11 | if [ -z "$TEST_HOST" ] |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 12 | then |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 13 | if [ $# -ne 0 ] |
14 | then | ||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 15 | PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 16 | else |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 17 | make install_flat PREFIX=generated/testdir || exit 1 |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 18 | fi |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 19 | fi |
20 | |||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 21 | cd generated/testdir |
Rob Landley | 4a855d6 | 2014-07-03 22:09:11 -0500 | [diff] [blame] | 22 | PATH="$PWD:$PATH" |
23 | cd testdir | ||||
Rob Landley | deb31c8 | 2016-01-15 16:58:42 -0600 | [diff] [blame] | 24 | export LC_COLLATE=C |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 25 | |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 26 | . "$TOPDIR"/scripts/runtest.sh |
Rob Landley | 37256ff | 2008-06-22 00:57:15 -0500 | [diff] [blame] | 27 | [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 28 | |
Rob Landley | ee14fc3 | 2016-10-18 16:52:17 -0500 | [diff] [blame] | 29 | do_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 Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 42 | if [ $# -ne 0 ] |
43 | then | ||||
44 | for i in "$@" | ||||
45 | do | ||||
Rob Landley | ee14fc3 | 2016-10-18 16:52:17 -0500 | [diff] [blame] | 46 | do_test "$TOPDIR"/tests/$i.test |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 47 | done |
48 | else | ||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame] | 49 | for i in "$TOPDIR"/tests/*.test |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 50 | do |
Rob Landley | ee14fc3 | 2016-10-18 16:52:17 -0500 | [diff] [blame] | 51 | if [ -z "$TEST_HOST" ] |
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 52 | then |
Rob Landley | ee14fc3 | 2016-10-18 16:52:17 -0500 | [diff] [blame] | 53 | do_test "$i" 1 |
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 54 | else |
Rob Landley | ee14fc3 | 2016-10-18 16:52:17 -0500 | [diff] [blame] | 55 | rm -rf testdir && mkdir testdir && cd testdir || exit 1 |
56 | do_test "$i" | ||||
57 | cd .. | ||||
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 58 | fi |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 59 | done |
60 | fi |