chiark / gitweb /
Regression test scripts set EF_DISABLE_BANNER (for Electric Fence).
[adns.git] / regress / r1test
1 #!/bin/sh
2 # usage: r1test <testcasename>
3
4 set -e
5 mrc=1
6 trap 'exit $mrc' 0
7
8 casename="$1"
9 case="case-$casename"
10 ocase="output-$casename"
11
12 exec <"$case.sys"
13 read initfile initflags
14 read queryargs
15
16 initstring="`cat init-$initfile.text`"
17
18 rm -f $ocase.*
19
20 EF_DISABLE_BANNER=1
21 export EF_DISABLE_BANNER
22
23 set +e
24 ADNS_TEST_REPORT_FD=3 3>>"$ocase.report" >"$ocase.out" 2>"$ocase.err" \
25  ./hplayback $initflags "/$initstring" $queryargs
26 rc=$?
27 set -e
28
29 if [ "$rc" = 5 ]
30 then
31         echo -n "SKIPPED-$casename "
32         mrc=5
33         exit
34 fi
35
36 echo "rc=$rc" >>$ocase.out
37
38 failed=false
39 for part in err out
40 do
41         if diff -u -- "$case.$part" "$ocase.$part"
42         then
43                 :
44         else
45                 failed=true
46         fi
47 done
48
49 if $failed
50 then
51         echo >&2 "FAILED $case - WRONG OUTPUT - lines of syscall remaining `wc -l`"
52         mrc=2
53         exit
54 fi
55
56 echo -n "$casename "
57 mrc=0