# usage: r1test <testcasename>
# test execution script, for running one test
#
-# This file is
-# Copyright (C) 1998-2000 Ian Jackson <ian@davenant.greenend.org.uk>
-#
-# It is part of adns, which is
-# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
-# Copyright (C) 1999 Tony Finch <dot@dotat.at>
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006 Ian Jackson
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
#
# 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
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
set -e
+: ${srcdir=.}
mrc=1
trap 'exit $mrc' 0
casename="$1"
-case="case-$casename"
+case="$srcdir/case-$casename"
ocase="output-$casename"
-exec <"$case.sys"
-read program 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
+initstring="`cat $srcdir/init-$initfile.text`"
+xinitflagsf=$srcdir/$program-xinitflags.text
if test -f $xinitflagsf
then
- initflags="$initflags $(cat $xinitflagsf)";
+ initflags="$initflags `cat $xinitflagsf`";
else
initflags="$initflags /"
fi
EF_DISABLE_BANNER=1
export EF_DISABLE_BANNER
+if test -f "$case.in"
+then
+ exec <"$case.in"
+else
+ exec </dev/null
+fi
+
+playback=./${program}_playback
+if test ! -f $playback
+then
+ printf "SKIPPED-$casename "
+ mrc=5
+ exit
+fi
+
set +e
-ADNS_TEST_REPORT_FD=3 3>>"$ocase.report" >"$ocase.out" 2>"$ocase.err" \
- ./${program}_playback $initflags"$initstring" $queryargs
+ADNS_TEST_REPORT_FD=3 ADNS_TEST_IN_FD=4 \
+ 3>>"$ocase.report" 4<&4 >"$ocase.out" 2>"$ocase.err" \
+ $ADNS_TEST_DEBUG $playback $initflags"$initstring" $queryargs
rc=$?
set -e
fi
done
-cat >"$ocase.leftover"
+cat <&4 >"$ocase.leftover"
if egrep . /dev/null "$ocase.leftover"
then
failwhy="$failwhy EXITED EARLY"