# usage: r1test <testcasename>
set -e
-tcn="$1"
-test -d ../testcases || cd testcases
+casename="$1"
+case="case-$casename"
+ocase="output-$casename"
-exec <$tcn.log
+exec <"$case.sys"
read initfile
read queryargs
-initstring="`cat $initfile.init`"
-../hplayback "/$initstring" $queryargs
+
+initstring="`cat init-$initfile.text`"
+
+rm -f $ocase.*
+
+set +e
+ADNS_TEST_REPORT_FD=3 3>>"$ocase.report" >"$ocase.out" 2>"$ocase.err" \
+ ./hplayback "/$initstring" $queryargs
+rc=$?
+set -e
+
+if test $rc != 0
+then
+ egrep . -- "$ocase.report" "$ocase.out" "$ocase.err"
+ echo >&2 "FAILED $case - EXIT STATUS $rc"
+ exit 2
+fi
+
+for part in out err
+do
+ if diff -- "$case.$part" "$ocase.$part"
+ then
+ :
+ else
+ echo >&2 "FAILED $case - WRONG OUTPUT"
+ exit 2
+ fi
+done
+
+echo -n "$casename "
+
+exit 0