Tests - eventscripts - add -A/-D options
authorMartin Schwenke <martin@meltin.net>
Tue, 20 Mar 2012 05:25:34 +0000 (16:25 +1100)
committerMartin Schwenke <martin@meltin.net>
Thu, 22 Mar 2012 04:30:27 +0000 (15:30 +1100)
Make it easier to spot differences between desired output and actual
output.

Signed-off-by: Martin Schwenke <martin@meltin.net>
(This used to be ctdb commit d132a8f4a8c0573ac447713a71911f02b6f0d73c)

ctdb/tests/eventscripts/common.sh
ctdb/tests/eventscripts/run_tests.sh

index df9656b831a467d80ec869e46ecf052788bce383..49bf916df08577f7983fcef0aac76fc04fb20541 100644 (file)
@@ -690,8 +690,8 @@ cat <<EOF
 --------------------------------------------------
 Output (Exit status: ${_rc}):
 --------------------------------------------------
-$_out
 EOF
+       echo "$_out" | cat $EVENTSCRIPT_TESTS_CAT_RESULTS_OPTS
     fi
 
     if ! $_passed ; then
@@ -699,8 +699,24 @@ EOF
 --------------------------------------------------
 Required output (Exit status: ${required_rc}):
 --------------------------------------------------
-$required_output
 EOF
+       echo "$required_output" | cat $EVENTSCRIPT_TESTS_CAT_RESULTS_OPTS
+
+       if $EVENTSCRIPT_TESTS_DIFF_RESULTS ; then
+           _outr=$(mktemp)
+           echo "$required_output" >"$_outr"
+
+           _outf=$(mktemp)
+           echo "$_out" >"$_outf"
+
+           cat <<EOF
+--------------------------------------------------
+Diff:
+--------------------------------------------------
+EOF
+           diff -u "$_outr" "$_outf" | cat -A
+           rm "$_outr" "$_outf"
+       fi
     fi
 }
 
index ec17b5f7a71a08eba52e6c5a9fbc141d4f80c076..406689a0d6fd586b00773bbdf78c515118d507fc 100755 (executable)
@@ -7,6 +7,9 @@ export EVENTSCRIPTS_TESTS_DIR=$(pwd)
 
 test_dir=$(dirname "$EVENTSCRIPTS_TESTS_DIR")
 
+export EVENTSCRIPT_TESTS_CAT_RESULTS_OPTS=""
+export EVENTSCRIPT_TESTS_DIFF_RESULTS=false
+
 opts="-d"
 
 for i ; do
@@ -21,6 +24,16 @@ for i ; do
            export EVENTSCRIPTS_TESTS_TRACE="sh -x"
            shift
            ;;
+       -A)
+           # Useful for detecting whitespace differences in results
+           export EVENTSCRIPT_TESTS_CAT_RESULTS_OPTS="-A"
+           shift
+           ;;
+       -D)
+           # Useful for detecting whitespace differences in results
+           export EVENTSCRIPT_TESTS_DIFF_RESULTS=true
+           shift
+           ;;
        -*)
            opts="$opts $i"
            shift