X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/4ac46883d14d6ebf8f0203c0267a3a55c5f8baaa..f9476535903f0225fba0733203580c88b30ad6a1:/regress/r1test diff --git a/regress/r1test b/regress/r1test index 142ef19..a325600 100755 --- a/regress/r1test +++ b/regress/r1test @@ -1,5 +1,27 @@ #!/bin/sh # usage: r1test +# test execution script, for running one test +# +# This file is +# Copyright (C) 1998-2000 Ian Jackson +# +# It is part of adns, which is +# Copyright (C) 1997-2000 Ian Jackson +# Copyright (C) 1999 Tony Finch +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. set -e mrc=1 @@ -9,23 +31,41 @@ casename="$1" case="case-$casename" ocase="output-$casename" -exec <"$case.sys" -read initfile initflags -read queryargs +exec 4<"$case.sys" +read <&4 program initfile initflags +read <&4 queryargs initstring="`cat init-$initfile.text`" +xinitflagsf=$program-xinitflags.text +if test -f $xinitflagsf +then + initflags="$initflags $(cat $xinitflagsf)"; +else + initflags="$initflags /" +fi rm -f $ocase.* +EF_DISABLE_BANNER=1 +export EF_DISABLE_BANNER + +if test -f "$case.in" +then + exec <"$case.in" +else + exec >"$ocase.report" >"$ocase.out" 2>"$ocase.err" \ - ./hplayback $initflags "/$initstring" $queryargs +ADNS_TEST_IN_FD=4 \ + ./${program}_playback $initflags"$initstring" $queryargs rc=$? set -e if [ "$rc" = 5 ] then - echo -n "SKIPPED-$casename " + printf "SKIPPED-$casename " mrc=5 exit fi @@ -39,16 +79,23 @@ do then : else - failed=true + failwhy="$failwhy WRONG OUTPUT" fi done -if $failed +cat >"$ocase.leftover" +if egrep . /dev/null "$ocase.leftover" +then + failwhy="$failwhy EXITED EARLY" +fi + +if [ "x$failwhy" != x ] then - echo >&2 "FAILED $case - WRONG OUTPUT - lines of syscall remaining `wc -l`" + scremain="`wc -l <\"$ocase.leftover\"`" + echo >&2 "FAILED $case -$failwhy - lines of syscall remaining $scremain" mrc=2 exit fi -echo -n "$casename " +printf "$casename " mrc=0