+static FILE *Tinputfile, *traceout;
+static int traceprint;
+
+static void Tflushtrace( void) {
+ if (fflush(traceout)) Toutputerr();
+}
+
+void Tensuresetup(void) {
+ static int done;
+
+ if (done) return;
+ done++;
+
+ int fd;
+
+ fd = Ttestinputfd();
+ assert(fd >= 0);
+ Tinputfile= fdopen(fd,"rb");
+ if (!Tinputfile) Tfailed("fdopen record fd");
+
+ while (fdtab.used < 3) {
+ const char fdfstd = FDF_OPEN;
+ if (!adns__vbuf_append(&fdtab,&fdfstd,1)) Tnomem();
+ }
+
+ const char *traceprintstr= getenv("ADNS_TEST_FUZZRAW_TRACEPRINT");
+ if (traceprintstr) {
+ traceprint= atoi(traceprintstr);
+ int tracefd= dup(2);
+ if (tracefd<0) Tfailed("dup for tracefd");
+ traceout= fdopen(tracefd,"w");
+ if (!traceout) Tfailed("fdopen for traceout");
+ }
+}