Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 1 | #!/bin/bash |
2 | |||||
3 | [ -z "$TOPDIR" ] && TOPDIR="$(pwd)" | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 4 | |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 5 | trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT |
6 | |||||
7 | rm -rf generated/testdir | ||||
8 | mkdir -p generated/testdir/testdir | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 9 | |
Rob Landley | e156d44 | 2008-05-04 19:44:39 -0500 | [diff] [blame] | 10 | if [ -z "$TEST_HOST" ] |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 11 | then |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 12 | if [ $# -ne 0 ] |
13 | then | ||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 14 | PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 15 | else |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 16 | make install_flat PREFIX=generated/testdir || exit 1 |
Rob Landley | 26f52eb | 2013-10-15 00:57:39 -0500 | [diff] [blame] | 17 | fi |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 18 | fi |
19 | |||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 20 | cd generated/testdir |
Rob Landley | 4a855d6 | 2014-07-03 22:09:11 -0500 | [diff] [blame] | 21 | PATH="$PWD:$PATH" |
22 | cd testdir | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 23 | |
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 24 | . "$TOPDIR"/scripts/runtest.sh |
Rob Landley | 37256ff | 2008-06-22 00:57:15 -0500 | [diff] [blame] | 25 | [ -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] | 26 | |
27 | if [ $# -ne 0 ] | ||||
28 | then | ||||
29 | for i in "$@" | ||||
30 | do | ||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 31 | . "$TOPDIR"/tests/$i.test |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 32 | done |
33 | else | ||||
Rob Landley | 387edf5 | 2014-09-20 13:09:14 -0500 | [diff] [blame^] | 34 | for i in "$TOPDIR"/tests/*.test |
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 35 | do |
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 36 | CMDNAME="$(echo "$i" | sed 's@.*/\(.*\)\.test@\1@')" |
Rob Landley | 4a855d6 | 2014-07-03 22:09:11 -0500 | [diff] [blame] | 37 | if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ] |
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 38 | then |
Rob Landley | 4a855d6 | 2014-07-03 22:09:11 -0500 | [diff] [blame] | 39 | cd .. && rm -rf testdir && mkdir testdir && cd testdir || exit 1 |
Rob Landley | c564834 | 2008-05-04 16:03:10 -0500 | [diff] [blame] | 40 | . $i |
41 | else | ||||
42 | echo "$CMDNAME disabled" | ||||
43 | fi | ||||
Rob Landley | 8b479b4 | 2007-12-16 17:55:34 -0600 | [diff] [blame] | 44 | done |
45 | fi |