]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Preserve dig results in case of test failure
authorMark Andrews <marka@isc.org>
Fri, 17 Sep 2021 04:01:07 +0000 (14:01 +1000)
committerMark Andrews <marka@isc.org>
Fri, 24 Sep 2021 03:37:43 +0000 (13:37 +1000)
(cherry picked from commit 96b7421f8c90a21d1a1b3685eb569014e299dad9)

bin/tests/system/unknown/clean.sh
bin/tests/system/unknown/tests.sh

index a7b2c8e84258484a36b038e5032384eca160358c..d0adb16c9eb8f91b2e3b495d7906d175c06a9d24 100644 (file)
@@ -9,7 +9,7 @@
 # See the COPYRIGHT file distributed with this work for additional
 # information regarding copyright ownership.
 
-rm -f dig.out check.out
+rm -f dig.out* check.out
 rm -f */named.memstats
 rm -f */named.conf
 rm -f */named.run
index 5ba32c7de4f488f7ab19a4dc12135c8e68110976..e480f66b18c1a16c33f46a709ea20abd3bbe5133 100644 (file)
@@ -13,15 +13,17 @@ SYSTEMTESTTOP=..
 . $SYSTEMTESTTOP/conf.sh
 
 status=0
+n=0
 
 DIGOPTS="-p ${PORT}"
 
-echo_i "querying for various representations of an IN A record"
+n=$((n+1))
+echo_i "querying for various representations of an IN A record ($n)"
 for i in 1 2 3 4 5 6 7 8 9 10 11 12
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 a$i.example a in > dig.out || ret=1
-       echo 10.0.0.1 | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 a$i.example a in > dig.out.$i.test$n || ret=1
+       echo 10.0.0.1 | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -29,12 +31,13 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for various representations of an IN TXT record"
+n=$((n+1))
+echo_i "querying for various representations of an IN TXT record ($n)"
 for i in 1 2 3 4 5 6 7
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt in > dig.out || ret=1
-       echo '"hello"' | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt in > dig.out.$i.test$n || ret=1
+       echo '"hello"' | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -42,12 +45,13 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for various representations of an IN TYPE123 record"
+n=$((n+1))
+echo_i "querying for various representations of an IN TYPE123 record ($n)"
 for i in 1 2 3
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 in > dig.out || ret=1
-       echo '\# 1 00' | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 in > dig.out.$i.test$n || ret=1
+       echo '\# 1 00' | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -55,26 +59,29 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for NULL record"
+n=$((n+1))
+echo_i "querying for NULL record ($n)"
 ret=0
-$DIG +short $DIGOPTS @10.53.0.1 null.example null in > dig.out || ret=1
-echo '\# 1 00' | $DIFF - dig.out || ret=1
+$DIG +short $DIGOPTS @10.53.0.1 null.example null in > dig.out.test$n || ret=1
+echo '\# 1 00' | $DIFF - dig.out.test$n || ret=1
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "querying for empty NULL record"
+n=$((n+1))
+echo_i "querying for empty NULL record ($n)"
 ret=0
-$DIG +short $DIGOPTS @10.53.0.1 empty.example null in > dig.out || ret=1
-echo '\# 0' | $DIFF - dig.out || ret=1
+$DIG +short $DIGOPTS @10.53.0.1 empty.example null in > dig.out.test$n || ret=1
+echo '\# 0' | $DIFF - dig.out.test$n || ret=1
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "querying for various representations of a CLASS10 TYPE1 record"
+n=$((n+1))
+echo_i "querying for various representations of a CLASS10 TYPE1 record ($n)"
 for i in 1 2
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 a$i.example a class10 > dig.out || ret=1
-       echo '\# 4 0A000001' | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 a$i.example a class10 > dig.out.$i.test$n || ret=1
+       echo '\# 4 0A000001' | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -82,12 +89,13 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for various representations of a CLASS10 TXT record"
+n=$((n+1))
+echo_i "querying for various representations of a CLASS10 TXT record ($n)"
 for i in 1 2 3 4
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt class10 > dig.out || ret=1
-       echo '"hello"' | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 txt$i.example txt class10 > dig.out.$i.test$n || ret=1
+       echo '"hello"' | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -95,12 +103,13 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for various representations of a CLASS10 TYPE123 record"
+n=$((n+1))
+echo_i "querying for various representations of a CLASS10 TYPE123 record ($n)"
 for i in 1 2
 do
        ret=0
-       $DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 class10 > dig.out || ret=1
-       echo '\# 1 00' | $DIFF - dig.out || ret=1
+       $DIG +short $DIGOPTS @10.53.0.1 unk$i.example type123 class10 > dig.out.$i.test$n || ret=1
+       echo '\# 1 00' | $DIFF - dig.out.$i.test$n || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -108,12 +117,13 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "querying for SOAs of zone that should have failed to load"
+n=$((n+1))
+echo_i "querying for SOAs of zone that should have failed to load ($n)"
 for i in 1 2 3 4
 do
        ret=0
-       $DIG $DIGOPTS @10.53.0.1 broken$i. soa in > dig.out || ret=1
-       grep "SERVFAIL" dig.out > /dev/null || ret=1
+       $DIG $DIGOPTS @10.53.0.1 broken$i. soa in > dig.out.$i.test$n || ret=1
+       grep "SERVFAIL" dig.out.$i.test$n > /dev/null || ret=1
        if [ $ret != 0 ]
        then
                echo_i "#$i failed"
@@ -121,22 +131,24 @@ do
        status=`expr $status + $ret`
 done
 
-echo_i "checking large unknown record loading on primary"
+n=$((n+1))
+echo_i "checking large unknown record loading on primary ($n)"
 for try in 0 1 2 3 4 5 6 7 8 9; do
     ret=0
-    $DIG $DIGOPTS @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
-    $DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+    $DIG $DIGOPTS @10.53.0.1 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
+    $DIFF -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
     [ "$ret" -eq 0 ] && break
     sleep 1
 done
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "checking large unknown record loading on secondary"
+n=$((n+1))
+echo_i "checking large unknown record loading on secondary ($n)"
 for try in 0 1 2 3 4 5 6 7 8 9; do
     ret=0
-    $DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
-    $DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+    $DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
+    $DIFF -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
     [ "$ret" -eq 0 ] && break
     sleep 1
 done
@@ -149,21 +161,23 @@ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} unknown ns2
 
 # server may be answering queries before zones are loaded,
 # so retry a few times if this query fails
-echo_i "checking large unknown record loading on secondary"
+n=$((n+1))
+echo_i "checking large unknown record loading on secondary ($n)"
 for try in 0 1 2 3 4 5 6 7 8 9; do
     ret=0
-    $DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
-    $DIFF -s large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+    $DIG $DIGOPTS @10.53.0.2 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
+    $DIFF -s large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
     [ "$ret" -eq 0 ] && break
     sleep 1
 done
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "checking large unknown record loading on inline secondary"
+n=$((n+1))
+echo_i "checking large unknown record loading on inline secondary ($n)"
 ret=0
-$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
-$DIFF large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+$DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.test$n || { ret=1 ; echo_i "dig failed" ; }
+$DIFF large.out dig.out.test$n > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
@@ -173,32 +187,36 @@ $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} unknown ns3
 
 # server may be answering queries before zones are loaded,
 # so retry a few times if this query fails
-echo_i "checking large unknown record loading on inline secondary"
+n=$((n+1))
+echo_i "checking large unknown record loading on inline secondary ($n)"
 for try in 0 1 2 3 4 5 6 7 8 9; do
     ret=0
-    $DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out || { ret=1 ; echo_i "dig failed" ; }
-    $DIFF large.out dig.out > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
+    $DIG $DIGOPTS @10.53.0.3 +tcp +short large.example TYPE45234 > dig.out.$i.test$n || { ret=1 ; echo_i "dig failed" ; }
+    $DIFF large.out dig.out.$i.test$n > /dev/null || { ret=1 ; echo_i "$DIFF failed"; }
     [ "$ret" -eq 0 ] && break
     sleep 1
 done
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "check that '"'"\\#"'"' is not treated as the unknown escape sequence"
+n=$((n+1))
+echo_i "check that '"'"\\#"'"' is not treated as the unknown escape sequence ($n)"
 ret=0
-$DIG $DIGOPTS @10.53.0.1 +tcp +short txt8.example txt > dig.out
-echo '"#" "2" "0145"' | $DIFF - dig.out || ret=1
+$DIG $DIGOPTS @10.53.0.1 +tcp +short txt8.example txt > dig.out.test$n
+echo '"#" "2" "0145"' | $DIFF - dig.out.test$n || ret=1
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "check that 'TXT \# text' is not treated as the unknown escape sequence"
+n=$((n+1))
+echo_i "check that 'TXT \# text' is not treated as the unknown escape sequence ($n)"
 ret=0
-$DIG $DIGOPTS @10.53.0.1 +tcp +short txt9.example txt > dig.out
-echo '"#" "text"' | $DIFF - dig.out || ret=1
+$DIG $DIGOPTS @10.53.0.1 +tcp +short txt9.example txt > dig.out.test$n
+echo '"#" "text"' | $DIFF - dig.out.test$n || ret=1
 [ $ret = 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
-echo_i "check that 'TYPE353 \# cat' produces 'not a valid number'"
+n=$((n+1))
+echo_i "check that 'TYPE353 \# cat' produces 'not a valid number' ($n)"
 ret=0
 $CHECKZONE nan.bad zones/nan.bad > check.out 2>&1
 grep "not a valid number" check.out > /dev/null || ret=1