We are going to want to reuse some of this logic for parsing case-*.sys
files.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
mrc=1
trap 'exit $mrc' 0
casename="$1"
mrc=1
trap 'exit $mrc' 0
casename="$1"
-case="$srcdir/case-$casename"
-ocase="output-$casename"
-exec 4<"$case.sys"
-read <&4 program initfile initflags
-read <&4 queryargs
-
-initstring="`cat $srcdir/init-$initfile.text`"
-xinitflagsf=$srcdir/$program-xinitflags.text
-if test -f $xinitflagsf
-then
- initflags="$initflags `cat $xinitflagsf`";
-else
- initflags="$initflags /"
-fi
-playback=./${program}_playback
if test ! -e $playback
then
printf "SKIPPED-$casename "
if test ! -e $playback
then
printf "SKIPPED-$casename "
-set +e
-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
+playback_execute_callback () {
+ set +e
+ ADNS_TEST_REPORT_FD=3 ADNS_TEST_IN_FD=4 \
+ 3>>"$ocase.report" 4<&4 >"$ocase.out" 2>"$ocase.err" \
+ $ADNS_TEST_DEBUG $playback "$@"
+ rc=$?
+ set -e
+}
+playback_execute
--- /dev/null
+# -*- shell -*-
+
+playback_prepare () {
+ case="$srcdir/case-$casename"
+ ocase="output-$casename"
+
+ exec 4<"$case.sys"
+ read <&4 program initfile initflags
+ read <&4 queryargs
+
+ initstring="`cat $srcdir/init-$initfile.text`"
+ xinitflagsf=$srcdir/$program-xinitflags.text
+ if test -f $xinitflagsf
+ then
+ initflags="$initflags `cat $xinitflagsf`";
+ else
+ initflags="$initflags /"
+ fi
+
+ playback=./${program}_playback
+}
+
+playback_execute () {
+ playback_execute_callback $initflags"$initstring" $queryargs
+}