Mercurial > hg > toybox
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 |