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