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:
Mark Andrews
2022-07-05 13:01:11 +10:00
parent 201a00e44d
commit 304d33fb32

View File

@@ -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
}