From edfe624719721455c5c72492d2931169c0fd242f Mon Sep 17 00:00:00 2001 From: Max Okumoto Date: Fri, 25 Feb 2005 11:57:32 +0000 Subject: [PATCH] Move more code from test.sh scripts into common (env.sh) script file. --- usr.bin/make/tests/basic/t0/test.sh | 20 ++--- usr.bin/make/tests/basic/t1/test.sh | 20 ++--- usr.bin/make/tests/basic/t2/test.sh | 20 ++--- usr.bin/make/tests/env.sh | 115 +++++++++++++----------- usr.bin/make/tests/variables/t0/test.sh | 20 ++--- usr.bin/make/tests/variables/t1/test.sh | 20 ++--- 6 files changed, 90 insertions(+), 125 deletions(-) diff --git a/usr.bin/make/tests/basic/t0/test.sh b/usr.bin/make/tests/basic/t0/test.sh index 4498deb28f..efc5d6d3ab 100644 --- a/usr.bin/make/tests/basic/t0/test.sh +++ b/usr.bin/make/tests/basic/t0/test.sh @@ -1,25 +1,15 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/basic/t0/test.sh,v 1.2 2005/02/01 11:19:37 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/basic/t0/test.sh,v 1.3 2005/02/25 11:57:32 okumoto Exp $ . ../../env.sh -case $1 in -test) +run_test() +{ cat > Makefile << _EOF_ _EOF_ $MAKE 1> stdout 2> stderr echo $? > status - ;; - -compare) std_compare ;; -diff) std_diff ;; -update) std_update ;; -run) std_run ;; -clean) std_clean ;; - -*) - echo "Usage: $0 run | compare | update | clean" - ;; -esac +} +eval_cmd $1 diff --git a/usr.bin/make/tests/basic/t1/test.sh b/usr.bin/make/tests/basic/t1/test.sh index 13d0e81d82..0c13cb743f 100644 --- a/usr.bin/make/tests/basic/t1/test.sh +++ b/usr.bin/make/tests/basic/t1/test.sh @@ -1,26 +1,16 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/basic/t1/test.sh,v 1.2 2005/02/01 11:19:37 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/basic/t1/test.sh,v 1.3 2005/02/25 11:57:32 okumoto Exp $ . ../../env.sh -case $1 in -test) +run_test() +{ cat > Makefile << _EOF_ all: _EOF_ $MAKE 1> stdout 2> stderr echo $? > status - ;; - -compare) std_compare ;; -diff) std_diff ;; -update) std_update ;; -run) std_run ;; -clean) std_clean ;; - -*) - echo "Usage: $0 run | compare | update | clean" - ;; -esac +} +eval_cmd $1 diff --git a/usr.bin/make/tests/basic/t2/test.sh b/usr.bin/make/tests/basic/t2/test.sh index 28cb5ca168..2ed9ac51c5 100644 --- a/usr.bin/make/tests/basic/t2/test.sh +++ b/usr.bin/make/tests/basic/t2/test.sh @@ -1,27 +1,17 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/basic/t2/test.sh,v 1.2 2005/02/01 11:19:37 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/basic/t2/test.sh,v 1.3 2005/02/25 11:57:32 okumoto Exp $ . ../../env.sh -case $1 in -test) +run_test() +{ cat > Makefile << _EOF_ all: echo hello _EOF_ $MAKE 1> stdout 2> stderr echo $? > status - ;; - -compare) std_compare ;; -diff) std_diff ;; -update) std_update ;; -run) std_run ;; -clean) std_clean ;; - -*) - echo "Usage: $0 run | compare | update | clean" - ;; -esac +} +eval_cmd $1 diff --git a/usr.bin/make/tests/env.sh b/usr.bin/make/tests/env.sh index 1faf28c11b..c3d107a3a6 100644 --- a/usr.bin/make/tests/env.sh +++ b/usr.bin/make/tests/env.sh @@ -1,19 +1,9 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/Attic/env.sh,v 1.3 2005/02/25 09:24:37 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/Attic/env.sh,v 1.4 2005/02/25 11:57:32 okumoto Exp $ MAKE=/usr/bin/make -std_action() -{ - if [ -d $1 ]; then - chmod +x $d/test.sh - (cd $d; ./test.sh $2) - else - echo Test directory $1 missing in `pwd` - fi -} - # # We can't check a file into cvs without a DragonFly RCS Id tag, so # we need to remove it before we compare. @@ -104,52 +94,74 @@ std_run() $0 clean } - -eval_cmd() +# +# Run +# +eval_subdir_cmd() { - case $1 in - test) - for d in $DIR; do - std_action $d $1 - done - ;; - - compare) - for d in $DIR; do - std_action $d $1 - done - ;; + local START_BASE - diff) - for d in $DIR; do - std_action $d $1 - done - ;; - - update) - for d in $DIR; do - std_action $d $1 - done - ;; + if [ ! -d $1 ]; then + echo "Test directory '$1' missing in directory '$START_BASE'" + return + fi - run) - for d in $DIR; do - std_action $d $1 - done - ;; + if [ ! -f $1/test.sh ]; then + echo "Test script missing in directory '$START_BASE/$1'" + return + fi - clean) - for d in $DIR; do - std_action $d $1 - done - ;; + START_BASE=${START_BASE}/$1 + (cd $1; sh test.sh $2) +} - *) - echo "Usage: $0 run | compare | update | clean" - ;; - esac +# +# Note: Uses global variable $DIR which might be assigned by +# the script which sourced this file. +# +eval_cmd() +{ + if [ "${DIR}" ]; then + case $1 in + test|compare|diff|update|clean|run) + for d in $DIR; do + eval_subdir_cmd $d $1 + done + ;; + *) + echo "Usage: $0 run | compare | update | clean" + ;; + esac + else + case $1 in + test) + run_test + ;; + compare) + std_compare + ;; + diff) + std_diff + ;; + update) + std_update + ;; + run) + std_run + ;; + clean) + std_clean + ;; + *) + echo "Usage: $0 run | compare | update | clean" + ;; + esac + fi } +# +# Parse command line arguments. +# args=`getopt m:v $*` if [ $? != 0 ]; then echo 'Usage: ...' @@ -174,5 +186,8 @@ for i; do esac done +START_BASE=${START_BASE:-.} + export MAKE export VERBOSE +export START_BASE diff --git a/usr.bin/make/tests/variables/t0/test.sh b/usr.bin/make/tests/variables/t0/test.sh index 3f2eda875f..6943259f1f 100644 --- a/usr.bin/make/tests/variables/t0/test.sh +++ b/usr.bin/make/tests/variables/t0/test.sh @@ -1,11 +1,11 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/variables/t0/test.sh,v 1.2 2005/02/01 11:19:38 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/variables/t0/test.sh,v 1.3 2005/02/25 11:57:32 okumoto Exp $ . ../../env.sh -case $1 in -test) +run_test() +{ cat > Makefile << "_EOF_" A = 0 AV = 1 @@ -29,16 +29,6 @@ all: _EOF_ $MAKE 1> stdout 2> stderr echo $? > status - ;; - -compare) std_compare ;; -diff) std_diff ;; -update) std_update ;; -run) std_run ;; -clean) std_clean ;; - -*) - echo "Usage: $0 run | compare | update | clean" - ;; -esac +} +eval_cmd $1 diff --git a/usr.bin/make/tests/variables/t1/test.sh b/usr.bin/make/tests/variables/t1/test.sh index 356c0bb796..5062824013 100644 --- a/usr.bin/make/tests/variables/t1/test.sh +++ b/usr.bin/make/tests/variables/t1/test.sh @@ -1,11 +1,11 @@ #!/bin/sh -# $DragonFly: src/usr.bin/make/tests/variables/t1/test.sh,v 1.1 2005/02/25 08:53:14 okumoto Exp $ +# $DragonFly: src/usr.bin/make/tests/variables/t1/test.sh,v 1.2 2005/02/25 11:57:32 okumoto Exp $ . ../../env.sh -case $1 in -test) +run_test() +{ cat > Makefile << "_EOF_" A = 0 AV = 1 @@ -29,16 +29,6 @@ all: _EOF_ $MAKE 1> stdout 2> stderr echo $? > status - ;; - -compare) std_compare ;; -diff) std_diff ;; -update) std_update ;; -run) std_run ;; -clean) std_clean ;; - -*) - echo "Usage: $0 run | compare | update | clean" - ;; -esac +} +eval_cmd $1 -- 2.41.0