~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
@@ -3,6 +3,11 @@
[adns]
/
regress
/
m1test
diff --git
a/regress/m1test
b/regress/m1test
index
81b4634
..
c556f8c
100755
(executable)
--- a/
regress/m1test
+++ b/
regress/m1test
@@
-1,4
+1,4
@@
-#!/bin/sh
+#!/bin/
ba
sh
# usage: m1test <name> <initfile> [<initflags>] <queryargs>'
# test recording script
#
# usage: m1test <name> <initfile> [<initflags>] <queryargs>'
# test recording script
#
@@
-28,15
+28,15
@@
set -e
if [ $# -lt 3 ]
then
echo >&2 \
if [ $# -lt 3 ]
then
echo >&2 \
-'usage: m1test <name> <initfile> [
<initflags>] [=<hrecord-command-ar
gs>]
- <queryargs>'
+'usage: m1test <name> <initfile> [
-<initfla
gs>]
+
[=<hrecord-command-args>]
<queryargs>'
exit 1
fi
case="case-$1"; shift
initfile="$1"; shift
exit 1
fi
case="case-$1"; shift
initfile="$1"; shift
-hrecord="./
h
record"
+hrecord="./
adnstest_
record"
case "$1" in
-*) initflags="$1"; shift
case "$1" in
-*) initflags="$1"; shift
@@
-46,24
+46,56
@@
case "$1" in
=*) hrecord="`echo \"$1\" | sed -e 's/^=//'`"; shift
esac
=*) hrecord="`echo \"$1\" | sed -e 's/^=//'`"; shift
esac
+if test ! -f "$hrecord" -a -f "${hrecord}_record"
+then
+ case "$hrecord" in
+ /*) program="$hrecord" ;;
+ *) program="./$hrecord" ;;
+ esac
+ hrecord="${program}_record"
+else
+ program="$(echo "$hrecord" | sed -e 's/ .*//; s/_record$//')"
+fi
+
queryargs="$*"
initstring="`cat init-$initfile.text`"
queryargs="$*"
initstring="`cat init-$initfile.text`"
+xinitflagsf=$program-xinitflags.text
+if test -f $xinitflagsf
+then
+ useinitflags="$initflags $(cat $xinitflagsf)";
+else
+ useinitflags="$initflags /"
+fi
-echo $initfile $initflags >"$case.sys"
+echo $
program $
initfile $initflags >"$case.sys"
echo "$queryargs" >>"$case.sys"
EF_DISABLE_BANNER=1
export EF_DISABLE_BANNER
echo "$queryargs" >>"$case.sys"
EF_DISABLE_BANNER=1
export EF_DISABLE_BANNER
-echo running hrecord $initflags "/... $queryargs"
+rm -f pipe.out pipe.err
+mknod pipe.out p
+mknod pipe.err p
+tee <pipe.out "$case.out" &
+tee_out=$!
+tee <pipe.err "$case.err" &
+tee_err=$!
+exec 4>pipe.out
+exec 5>pipe.err
+
+echo running hrecord $initflags "... $queryargs"
set +e
set +e
-ADNS_TEST_OUT_FD=3 3>>"$case.sys" >
"$case.out" 2>"$case.err" </dev/null
\
- $hrecord $
initflags "/
$initstring" $queryargs
+ADNS_TEST_OUT_FD=3 3>>"$case.sys" >
&4 2>&5
\
+ $hrecord $
useinitflags"
$initstring" $queryargs
rc=$?
set -e
rc=$?
set -e
-echo "rc=$rc" >>$case.out
+echo "rc=$rc" >&4
+exec 4>&-
+exec 5>&-
+
+wait $tee_out
+wait $tee_err
-egrep . -- "$case.err" "$case.out"
echo "exit status: $rc"
echo "exit status: $rc"