chiark / gitweb /
regress: Move case-*.in opening to shlib playback_prepare
[adns.git] / regress / shlib
1 # -*- shell -*-
2
3 playback_prepare () {
4         case="$srcdir/case-$casename"
5         ocase="output-$casename"
6
7         if test -e "$case.in"
8         then
9                 exec <"$case.in"
10         else
11                 exec </dev/null
12         fi
13
14         exec 4<"$case.sys"
15         read <&4 program initfile initflags
16         read <&4 queryargs
17
18         initstring="`cat $srcdir/init-$initfile.text`"
19         xinitflagsf=$srcdir/$program-xinitflags.text
20         if test -e $xinitflagsf
21         then
22                 initflags="$initflags `cat $xinitflagsf`";
23         else
24                 initflags="$initflags /"
25         fi
26
27         playback=./${program}_playback
28 }
29
30 playback_execute_core () {
31         playback_execute_hook "$@"
32         set +e
33         ADNS_TEST_REPORT_FD=3 ADNS_TEST_IN_FD=4 \
34          3>>"$ocase.report" 4<&4 >"$ocase.out" 2>"$ocase.err" \
35          $ADNS_TEST_DEBUG $playback "$@"
36         rc=$?
37         set -e
38 }
39
40 playback_execute () {
41         playback_execute_core $initflags"$initstring" $queryargs
42 }