chiark / gitweb /
adnshost: adh-opts.c: Whitespace adjustments to option table
[adns.git] / regress / hplayback.c.m4
index e0aba98543f8b8d97aeaf53b7120bc9b91419005..dd98f0ec0b8bf1df4172286ebecfd07232318614 100644 (file)
@@ -45,7 +45,7 @@ m4_include(hmacros.i4)
 static FILE *Tinputfile, *Tfuzzrawfile, *Treportfile;
 static vbuf vb2;
 
-static void Tensurereportfile(void) {
+static void Tensure_reportfile(void) {
   const char *fdstr;
   int fd;
 
@@ -56,7 +56,7 @@ static void Tensurereportfile(void) {
   Treportfile= fdopen(fd,"a"); if (!Treportfile) Tfailed("fdopen ADNS_TEST_REPORT_FD");
 }
 
-static void Tensurefuzzrawfile(void) {
+static void Tensure_fuzzrawfile(void) {
   static int done;
 
   if (done) return;
@@ -110,6 +110,9 @@ void Tensuresetup(void) {
   int chars;
   unsigned long sec, usec;
 
+  Tensure_reportfile();
+  Tensure_fuzzrawfile();
+
   if (Tinputfile) return;
   Tinputfile= stdin;
   fd = Ttestinputfd();
@@ -254,12 +257,15 @@ static void Ppollfds(struct pollfd *fds, int nfds) {
   if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("pollfds start not [");
   for (i=0; i<nfds; i++) {
     Pstring("{fd=","{fd= in pollfds");
-    fds->fd= strtoul(vb2.buf+vb2.used,&ep,10);
+    int gotfd= strtoul(vb2.buf+vb2.used,&ep,10);
+    if (gotfd != fds->fd) Psyntax("poll fds[].fd changed");
     vb2.used= ep - (char*)vb2.buf;    
     Pstring(", events=",", events= in pollfds");
-    fds->events= Ppollfdevents();
+    int gotevents= Ppollfdevents();
+    if (gotevents != fds->events) Psyntax("poll fds[].events changed");
     Pstring(", revents=",", revents= in pollfds");
     fds->revents= Ppollfdevents();
+    if (gotevents) FR_WRITE(fds->revents);
     Pstring("}","} in pollfds");
     Pstring(comma,"separator in pollfds");
     comma= ", ";
@@ -356,7 +362,6 @@ void Q_vb(void) {
             vb.used,vb.buf, vb.used,vb2.buf+1);
     exit(1);
   }
-  Tensurereportfile();
   nl= memchr(vb.buf,'\n',vb.used);
   fprintf(Treportfile," %.*s\n", (int)(nl ? nl - (const char*)vb.buf : vb.used), vb.buf);
 }
@@ -383,8 +388,7 @@ int H$1(hm_args_massage($3,void)) {
  if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
  fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
 
- Tensurereportfile();
- Tensurefuzzrawfile();
+ Tensuresetup();
  fprintf(Treportfile,"%s",vb2.buf);
  amtread= strlen(vb2.buf);
  if (amtread<=0 || vb2.buf[--amtread]!=hm_squote\nhm_squote)