From 244d1c30e20c927ffdbc2ca305e04675cbd3ac4d Mon Sep 17 00:00:00 2001 From: Stephen Morris Date: Wed, 20 Dec 2017 15:50:03 +0000 Subject: [PATCH] [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. --- bin/tests/system/run.sh | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) 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 -- 2.47.3