Only report not matching stderr content when we look for it
The previous test code could emit "D:cds:stderr did not match ''" rather that just showing the contents of stderr. Moved the debug line inside the if/else block. Replaced backquotes with $() and $(()) as approriate.
This commit is contained in:
@@ -17,7 +17,7 @@ status=0
|
||||
n=0
|
||||
fail() {
|
||||
echo_i "failed"
|
||||
status=`expr $status + 1`
|
||||
status=$((status + 1))
|
||||
}
|
||||
|
||||
runcmd() {
|
||||
@@ -26,11 +26,11 @@ runcmd() {
|
||||
}
|
||||
|
||||
testcase() {
|
||||
n=`expr $n + 1`
|
||||
n=$((n + 1))
|
||||
echo_i "$name ($n)"
|
||||
expect=$1
|
||||
shift
|
||||
result=`runcmd "$@"`
|
||||
result=$(runcmd "$@")
|
||||
check_stdout
|
||||
check_stderr
|
||||
if [ "$expect" -ne "$result" ]; then
|
||||
@@ -43,10 +43,10 @@ testcase() {
|
||||
check_stderr() {
|
||||
if [ -n "${err:=}" ]; then
|
||||
egrep "$err" err.$n >/dev/null && return 0
|
||||
echo_d "stderr did not match '$err'"
|
||||
else
|
||||
[ -s err.$n ] || return 0
|
||||
fi
|
||||
echo_d "stderr did not match '$err'"
|
||||
cat err.$n | cat_d
|
||||
fail
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user