comparison scripts/test.sh @ 1485:8700cbe1cb29 draft

Move testsuite out of scripts/test into its own top level tests directory, and make ctrl-c kill "make test" more reliably.
author Rob Landley <rob@landley.net>
date Sat, 20 Sep 2014 13:09:14 -0500
parents 7dd487ddd7dc
children
comparison
equal deleted inserted replaced
1484:19435f12ec63 1485:8700cbe1cb29
1 #!/bin/bash 1 #!/bin/bash
2 2
3 [ -z "$TOPDIR" ] && TOPDIR="$(pwd)" 3 [ -z "$TOPDIR" ] && TOPDIR="$(pwd)"
4 4
5 rm -rf testdir 5 trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT
6 mkdir -p testdir/testdir 6
7 rm -rf generated/testdir
8 mkdir -p generated/testdir/testdir
7 9
8 if [ -z "$TEST_HOST" ] 10 if [ -z "$TEST_HOST" ]
9 then 11 then
10 if [ $# -ne 0 ] 12 if [ $# -ne 0 ]
11 then 13 then
12 PREFIX=testdir/ scripts/single.sh "$@" || exit 1 14 PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1
13 else 15 else
14 make install_flat PREFIX=testdir || exit 1 16 make install_flat PREFIX=generated/testdir || exit 1
15 fi 17 fi
16 fi 18 fi
17 19
18 cd testdir 20 cd generated/testdir
19 PATH="$PWD:$PATH" 21 PATH="$PWD:$PATH"
20 cd testdir 22 cd testdir
21 23
22 . "$TOPDIR"/scripts/test/testing.sh 24 . "$TOPDIR"/scripts/runtest.sh
23 [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') 25 [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g')
24 26
25 if [ $# -ne 0 ] 27 if [ $# -ne 0 ]
26 then 28 then
27 for i in "$@" 29 for i in "$@"
28 do 30 do
29 . "$TOPDIR"/scripts/test/$i.test 31 . "$TOPDIR"/tests/$i.test
30 done 32 done
31 else 33 else
32 for i in "$TOPDIR"/scripts/test/*.test 34 for i in "$TOPDIR"/tests/*.test
33 do 35 do
34 CMDNAME="$(echo "$i" | sed 's@.*/\(.*\)\.test@\1@')" 36 CMDNAME="$(echo "$i" | sed 's@.*/\(.*\)\.test@\1@')"
35 if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ] 37 if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ]
36 then 38 then
37 cd .. && rm -rf testdir && mkdir testdir && cd testdir || exit 1 39 cd .. && rm -rf testdir && mkdir testdir && cd testdir || exit 1