From: Stephen Morris Date: Wed, 20 Dec 2017 15:50:03 +0000 (+0000) Subject: [rt46602] Error messages before start of test are output to stderr X-Git-Tag: v9.13.0~158^2~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=244d1c30e20c927ffdbc2ca305e04675cbd3ac4d;p=thirdparty%2Fbind9.git [rt46602] Error messages before start of test are output to stderr Error messages concerning the invocation of run.sh are output to stderr. Messages after the test has started are output to stdout. --- diff --git a/bin/tests/system/run.sh b/bin/tests/system/run.sh index 2f8f1ee5ac5..c18f3cc48e5 100644 --- a/bin/tests/system/run.sh +++ b/bin/tests/system/run.sh @@ -30,12 +30,18 @@ while getopts "rnp:d:" flag; do done shift `expr $OPTIND - 1` -test $# -gt 0 || { echo "usage: $0 [-k|-n|-p ] test-directory" >&2; exit 1; } +if [ $# -eq 0 ]; then + echofail "Usage: $0 [-k] [-n] [-p ] [-r] test-directory [test-options]" >&2; + exit 1 +fi test=$1 shift -test -d $test || { echofail "$0: $test: no such test" >&2; exit 1; } +if [ ! -d test ]; then + echofail "$0: $test: no such test" >&2 + exit 1 +fi # Define the number of ports allocated for each test, and the lowest and # highest valid values for the "-p" option. @@ -52,10 +58,10 @@ maxvalid=`expr 65535 - $numport + 1` test "$baseport" -eq "$baseport" > /dev/null 2>&1 if [ $? -ne 0 ]; then - echofail "Must specify a numeric value for the port" + echofail "$0: $test: must specify a numeric value for the port" >&2 exit 1 elif [ $baseport -lt $minvalid -o $baseport -gt $maxvalid ]; then - echofail "The specified port must be in the range $minvalid to $maxvalid" >&2 + echofail "$0: $test: the specified port must be in the range $minvalid to $maxvalid" >&2 exit 1 fi @@ -108,7 +114,7 @@ if [ $result -eq 0 ]; then else echowarn "I:$test:Prerequisites missing, skipping test." [ $result -eq 255 ] && echowarn "R:$test:SKIPPED" || echowarn "R:$test:UNTESTED" - echoend "E:$test:`date $dateargs`" >&2 + echoend "E:$test:`date $dateargs`" exit 0 fi @@ -150,11 +156,11 @@ $PERL stop.pl $test status=`expr $status + $?` if [ $status != 0 ]; then - echofail "R:$test:FAIL" - # Don't clean up - we need the evidence. - find . -name core -exec chmod 0644 '{}' \; + echofail "R:$test:FAIL" + # Do not clean up - we need the evidence. + find . -name core -exec chmod 0644 '{}' \; else - echopass "R:$test:PASS" + echopass "R:$test:PASS" if $clean then rm -f $SYSTEMTESTTOP/random.data