From c594b6120e66e1466363ebdff86583e541bef093 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 29 Jan 2014 21:09:04 +0100 Subject: [PATCH] tests: New helper cmp_out1 Factor out of cmp_out, then make it optionally take an explicit expected result. Signed-off-by: Markus Armbruster --- tests/test-common.sh | 80 +++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/tests/test-common.sh b/tests/test-common.sh index 7681cac03..04cb09ab5 100644 --- a/tests/test-common.sh +++ b/tests/test-common.sh @@ -210,44 +210,56 @@ cmp_logs_xdump() cmp_out() { - local i exp act nrm + local i for i - do - exp="$testdir/${i##*/}" - act="sandbox/$i" - nrm="sandbox/normalized-${i##*/}" + do cmp_out1 "$i" + done +} - if [ ! -e "$exp" ] - then - case "$i" in - *.status) exp=sandbox/ok.status; echo 0 >sandbox/ok.status ;; - *) exp=/dev/null ;; - esac - fi +cmp_out1() +{ + local i=$1 exp="${2-$testdir/${1##*/}}" + local act="sandbox/$i" + local nrm="sandbox/normalized-${i##*/}" + if [ ! -e "$exp" ] + then case "$i" in - */journal.log) - perl "$srcdir"/tests/normalize.pl -j "$act" ;; - */server.log) - perl "$srcdir"/tests/normalize.pl -s "$act" ;; - *.xdump) - perl "$srcdir"/tests/normalize.pl "$act" ;; - *.err) - perl -pe 's/\s+$/\n/;' -e "s,\Q$srcdir/tests\E,tests," "$act" ;; + *.status) + exp=sandbox/ok.status + echo 0 >sandbox/ok.status + ;; *) - perl -pe 's/\s+$/\n/;' "$act" ;; - esac >"$nrm" - if diff -u "$exp" "$nrm" >"$nrm.diff" - then - echo "$i OK" - elif [ "$EMPIRE_CHECK_ACCEPT" ] - then - echo "$i CHANGED" - cp "$nrm" "$exp" - else - failed=y - echo "$i FAIL" - fi - done + [ ! -e "$act" ] && return + exp=/dev/null + ;; + *.status) exp=sandbox/ok.status; echo 0 >sandbox/ok.status ;; + *) exp=/dev/null ;; + esac + fi + + case "$i" in + */journal.log) + perl "$srcdir"/tests/normalize.pl -j "$act" ;; + */server.log) + perl "$srcdir"/tests/normalize.pl -s "$act" ;; + *.xdump) + perl "$srcdir"/tests/normalize.pl "$act" ;; + *.err) + perl -pe 's/\s+$/\n/;' -e "s,\Q$srcdir/tests\E,tests," "$act" ;; + *) + perl -pe 's/\s+$/\n/;' "$act" ;; + esac >"$nrm" + if diff -u "$exp" "$nrm" >"$nrm.diff" + then + echo "$i OK" + elif [ "$EMPIRE_CHECK_ACCEPT" ] + then + echo "$i CHANGED" + cp "$nrm" "$exp" + else + failed=y + echo "$i FAIL" + fi } -- 2.43.0