]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
fix sfcache test
authorEvan Hunt <each@isc.org>
Fri, 25 Jan 2019 18:42:46 +0000 (10:42 -0800)
committerEvan Hunt <each@isc.org>
Fri, 25 Jan 2019 19:24:10 +0000 (11:24 -0800)
use a lame server configuration to force SERVFAILs instead of killing ns2.
this prevents test failures that occurred due to a different behavior of
the netowrking stack in windows.

bin/tests/system/sfcache/ns1/root.db.in
bin/tests/system/sfcache/tests.sh

index dab5cea7f774ed6afddb2111cee2e61b16b95c30..9ee20905b72a650fad4ce811bdec97a1e61cb57e 100644 (file)
@@ -20,3 +20,5 @@ a.root-servers.nil.   A       10.53.0.1
 
 example.               NS      ns2.example.
 ns2.example.           A       10.53.0.2
+example2.              NS      ns2.example2.
+ns2.example2.          A       10.53.0.2
index ac45cd537aa70c34e9973378b6a46bd30b8354af..0ea04facbee21b211658e58bb82051374fd42f35 100644 (file)
@@ -50,19 +50,20 @@ n=`expr $n + 1`
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`
 
-echo_i "disabling server to force non-dnssec SERVFAIL"
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} sfcache ns2
-awk '/SERVFAIL/ { next; out=1 } /Zone/ { out=0 } { if (out) print }' ns5/named_dump.db
-echo_i "checking SERVFAIL is cached ($n)"
+echo_i "switching to non-dnssec SERVFAIL tests"
 ret=0
-$DIG $DIGOPTS bar.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
+$RNDCCMD 10.53.0.5 flush 2>&1 | sed 's/^/I:ns5 /'
 $RNDCCMD 10.53.0.5 dumpdb -all 2>&1 | sed 's/^/I:ns5 /'
+awk '/SERVFAIL/ { next; out=1 } /Zone/ { out=0 } { if (out) print }' ns5/named_dump.db
+echo_i "checking SERVFAIL is cached ($n)"
+$DIG $DIGOPTS bar.example2. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
 for i in 1 2 3 4 5 6 7 8 9 10; do
+    $RNDCCMD 10.53.0.5 dumpdb -all 2>&1 | sed 's/^/I:ns5 /'
+    sleep 1
     awk '/Zone/{out=0} { if (out) print } /SERVFAIL/{out=1}' ns5/named_dump.db > sfcache.$n
     [ -s "sfcache.$n" ] && break
-    sleep 1
 done
-grep "^; bar.example/A" sfcache.$n > /dev/null || ret=1
+grep "^; bar.example2/A" sfcache.$n > /dev/null || ret=1
 n=`expr $n + 1`
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`
@@ -70,17 +71,17 @@ status=`expr $status + $ret`
 echo_i "checking SERVFAIL is returned from cache ($n)"
 ret=0
 nextpart ns5/named.run > /dev/null
-$DIG $DIGOPTS bar.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
+$DIG $DIGOPTS bar.example2. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
 grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
 nextpart ns5/named.run > ns5/named.run.part$n
-grep 'servfail cache hit bar.example/A (CD=0)' ns5/named.run.part$n > /dev/null || ret=1
+grep 'servfail cache hit bar.example2/A (CD=0)' ns5/named.run.part$n > /dev/null || ret=1
 n=`expr $n + 1`
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`
 
 echo_i "checking cache is bypassed with +cd query ($n)"
 ret=0
-$DIG $DIGOPTS +cd bar.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
+$DIG $DIGOPTS +cd bar.example2. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
 grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
 nextpart ns5/named.run > ns5/named.run.part$n
 grep 'servfail cache hit' ns5/named.run.part$n > /dev/null && ret=1
@@ -90,10 +91,10 @@ status=`expr $status + $ret`
 
 echo_i "checking cache is used for subsequent +cd query ($n)"
 ret=0
-$DIG $DIGOPTS +dnssec bar.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
+$DIG $DIGOPTS +dnssec bar.example2. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
 grep "SERVFAIL" dig.out.ns5.test$n > /dev/null || ret=1
 nextpart ns5/named.run > ns5/named.run.part$n
-grep 'servfail cache hit bar.example/A (CD=1)' ns5/named.run.part$n > /dev/null || ret=1
+grep 'servfail cache hit bar.example2/A (CD=1)' ns5/named.run.part$n > /dev/null || ret=1
 n=`expr $n + 1`
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`