X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fr1test;h=de8db693792b16d66d7f659d0ec9b55d3e4c629f;hb=1671459cd4ce35f55431e2014199da8a7a68b2c4;hp=a15f07172de34ee2b523571d44c8656da325f1f8;hpb=1c957fdadf0ab368ab1266fbd6a9ea8fbe3b271d;p=adns.git diff --git a/regress/r1test b/regress/r1test index a15f071..de8db69 100755 --- a/regress/r1test +++ b/regress/r1test @@ -2,38 +2,56 @@ # usage: r1test set -e -case="case-$1" +mrc=1 +trap 'exit $mrc' 0 + +casename="$1" +case="case-$casename" +ocase="output-$casename" exec <"$case.sys" -read initfile +read initfile initflags read queryargs initstring="`cat init-$initfile.text`" +rm -f $ocase.* + +EF_DISABLE_BANNER=1 +export EF_DISABLE_BANNER + set +e -ADNS_TEST_REPORT_FD=3 3>>"$case.report-o" >"$case.stdout-o" 2>"$case.stderr-o" \ - ./hplayback "/$initstring" $queryargs +ADNS_TEST_REPORT_FD=3 3>>"$ocase.report" >"$ocase.out" 2>"$ocase.err" \ + ./hplayback $initflags "/$initstring" $queryargs rc=$? set -e -if test $rc != 0 +if [ "$rc" = 5 ] then - egrep . -- "$case.report-o" "$case.stdout-o" "$case.stderr-o" - echo >&2 "FAILED $case - EXIT STATUS $rc" - exit 2 + echo -n "SKIPPED-$casename " + mrc=5 + exit fi -for part in stdout stderr +echo "rc=$rc" >>$ocase.out + +failed=false +for part in err out do - if diff -- "$case.$part" "$case.$part-o" + if diff -u -- "$case.$part" "$ocase.$part" then : else - echo >&2 "FAILED $case - WRONG OUTPUT" - exit 2 + failed=true fi done -echo -n " $case " +if $failed +then + echo >&2 "FAILED $case - WRONG OUTPUT - lines of syscall remaining `wc -l`" + mrc=2 + exit +fi -exit 0 +echo -n "$casename " +mrc=0