chiark / gitweb /
Initial testing stuff; want to rearrange.
authorian <ian>
Sun, 29 Nov 1998 18:09:23 +0000 (18:09 +0000)
committerian <ian>
Sun, 29 Nov 1998 18:09:23 +0000 (18:09 +0000)
client/adnstest.c
regress/hplayback.c.m4
regress/m1test [new file with mode: 0755]
regress/r1test [new file with mode: 0755]

index 9768d7463f245b4d7cc240109f45ff0d29da9663..a7e631e5c5c02d9c29850c4ac7f143aa29490a41 100644 (file)
@@ -70,13 +70,21 @@ int main(int argc, char *const *argv) {
   adns_state ads;
   adns_query *qus, qu;
   adns_answer *ans;
-  const char *rrtn, *fmtn, *const *domlist;
+  const char *initstring, *rrtn, *fmtn;
+  const char *const *domlist;
   char *show, *cp;
   int len, i, qc, qi, tc, ti, ch;
   adns_status r, ri;
   const adns_rrtype *types;
   adns_rrtype *types_a;
 
+  if (argv[0] && argv[1] && argv[1][0] == '/') {
+    initstring= argv[1]+1;
+    argv++;
+  } else {
+    initstring= 0;
+  }
+  
   if (argv[0] && argv[1] && argv[1][0] == ':') {
     for (cp= argv[1]+1, tc=1; (ch= *cp); cp++)
       if (ch==',') tc++;
@@ -86,7 +94,7 @@ int main(int argc, char *const *argv) {
       types_a[ti]= strtoul(cp,&cp,10);
       if ((ch= *cp)) {
        if (ch != ',') {
-         fputs("usage: dtest [:<typenum>,...] [<domain> ...]\n",stderr);
+         fputs("usage: dtest [/<initstring>] [:<typenum>,...] [<domain> ...]\n",stderr);
          exit(4);
        }
        cp++;
@@ -106,7 +114,11 @@ int main(int argc, char *const *argv) {
   qus= malloc(sizeof(qus)*qc*tc);
   if (!qus) { perror("malloc qus"); exit(3); }
 
-  r= adns_init(&ads,adns_if_debug|adns_if_noautosys,0);
+  if (initstring) {
+    r= adns_init_strcfg(&ads,adns_if_debug|adns_if_noautosys,stdout,initstring);
+  } else {
+    r= adns_init(&ads,adns_if_debug|adns_if_noautosys,0);
+  }
   if (r) failure("init",r);
 
   for (qi=0; qi<qc; qi++) {
index 5431c26132e6416299bdc3d88dcbdecd77a0ffb0..507354e9d57bed046ea38f564bd8363e4cb6f7cd 100644 (file)
@@ -32,9 +32,19 @@ m4_include(hmacros.i4)
 
 #include "harness.h"
 
-static FILE *Tinputfile;
+static FILE *Tinputfile, *Treportfile;
 static vbuf vb2;
 
+static void Tensurereportfile(void) {
+  const char *fdstr;
+  int fd;
+
+  Treportfile= stderr;
+  fdstr= getenv("ADNS_TEST_REPORT_FD"); if (!fdstr) return;
+  fd= atoi(fdstr);
+  Treportfile= fdopen(fd,"a"); if (!Treportfile) Tfailed("fdopen ADNS_TEST_REPORT_FD");
+}
+
 static void Tensureinputfile(void) {
   const char *fdstr;
   int fd;
@@ -218,7 +228,9 @@ int H$1(hm_args_massage($3,void)) {
  m4_define(`hm_r_offset',`m4_len(` $1=')')
  if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
  fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
-fprintf(stderr,"syscallr %s",vb2.buf);
+
+ Tensurereportfile();
+ fprintf(Treportfile,"syscallr %s",vb2.buf);
  vb2.avail= strlen(vb2.buf);
  if (vb.avail<=0 || vb2.buf[--vb2.avail]!=hm_squote\nhm_squote)
   Psyntax("badly formed line");
diff --git a/regress/m1test b/regress/m1test
new file mode 100755 (executable)
index 0000000..361e5b1
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+# usage: m1test <name> <initfile> <queryargs>
+
+set -e
+tcn="$1"
+initfile="$2"
+queryargs="$*"
+test -d ../testcases || cd testcases
+
+initstring="`cat $initfile.init`"
+
+exec >$tcn.log
+echo "$initfile"
+echo "$queryargs"
+
+H../hrecord "/$initstring" $queryargs
diff --git a/regress/r1test b/regress/r1test
new file mode 100755 (executable)
index 0000000..0c727a0
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+# usage: r1test <testcasename>
+
+set -e
+tcn="$1"
+test -d ../testcases || cd testcases
+
+exec <$tcn.log
+read initfile
+read queryargs
+initstring="`cat $initfile.init`"
+../hplayback "/$initstring" $queryargs