+ * Fix adnsresfilter usage message to include correct default timeout.
[adns] / regress / m1test
CommitLineData
0ebff22d 1#!/bin/bash
3d5cde09 2# usage: m1test <name> <initfile> [<initflags>] <queryargs>'
3# test recording script
4#
5# This file is
6# Copyright (C) 1998-2000 Ian Jackson <ian@davenant.greenend.org.uk>
7#
8# It is part of adns, which is
9# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
10# Copyright (C) 1999 Tony Finch <dot@dotat.at>
11#
12# This program is free software; you can redistribute it and/or modify
13# it under the terms of the GNU General Public License as published by
14# the Free Software Foundation; either version 2, or (at your option)
15# any later version.
16#
17# This program is distributed in the hope that it will be useful,
18# but WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20# GNU General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, write to the Free Software Foundation,
24# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
12c5b204 25
26set -e
98b6d5b4 27
28if [ $# -lt 3 ]
29then
e24e7155 30 echo >&2 \
0ebff22d 31'usage: m1test <name> <initfile> [-<initflags>]
32 [=<hrecord-command-args>] <queryargs>'
98b6d5b4 33 exit 1
34fi
35
1c957fda 36case="case-$1"; shift
37initfile="$1"; shift
8b1171e6 38
0ebff22d 39hrecord="./adnstest_record"
e24e7155 40
8b1171e6 41case "$1" in
42-*) initflags="$1"; shift
43esac
44
e24e7155 45case "$1" in
46=*) hrecord="`echo \"$1\" | sed -e 's/^=//'`"; shift
47esac
48
0ebff22d 49if test ! -f "$hrecord" -a -f "${hrecord}_record"
50then
51 case "$hrecord" in
52 /*) program="$hrecord" ;;
53 *) program="./$hrecord" ;;
54 esac
55 hrecord="${program}_record"
56else
57 program="$(echo "$hrecord" | sed -e 's/ .*//; s/_record$//')"
58fi
59
12c5b204 60queryargs="$*"
12c5b204 61
1c957fda 62initstring="`cat init-$initfile.text`"
0ebff22d 63xinitflagsf=$program-xinitflags.text
64if test -f $xinitflagsf
65then
66 useinitflags="$initflags $(cat $xinitflagsf)";
67else
68 useinitflags="$initflags /"
69fi
12c5b204 70
0ebff22d 71echo $program $initfile $initflags >"$case.sys"
1c957fda 72echo "$queryargs" >>"$case.sys"
12c5b204 73
1671459c 74EF_DISABLE_BANNER=1
75export EF_DISABLE_BANNER
76
0ebff22d 77rm -f pipe.out pipe.err
78mknod pipe.out p
79mknod pipe.err p
80tee <pipe.out "$case.out" &
81tee_out=$!
82tee <pipe.err "$case.err" &
83tee_err=$!
84exec 4>pipe.out
85exec 5>pipe.err
86
87echo running hrecord $initflags "... $queryargs"
1c957fda 88set +e
0ebff22d 89ADNS_TEST_OUT_FD=3 3>>"$case.sys" >&4 2>&5 \
90 $hrecord $useinitflags"$initstring" $queryargs
1c957fda 91rc=$?
92set -e
93
0ebff22d 94echo "rc=$rc" >&4
95exec 4>&-
96exec 5>&-
97
98wait $tee_out
99wait $tee_err
78bcc172 100
1c957fda 101echo "exit status: $rc"