diff --git a/bin/tests/system/legacy/clean.sh b/bin/tests/system/legacy/clean.sh index ad7ef8540d..f883185746 100644 --- a/bin/tests/system/legacy/clean.sh +++ b/bin/tests/system/legacy/clean.sh @@ -14,6 +14,7 @@ rm -f ns*/named.run rm -f ns*/named.lock # build.sh +rm -f ns1/named_dump.db* rm -f ns6/K* rm -f ns6/dsset-* rm -f ns6/edns512.db diff --git a/bin/tests/system/unknown/tests.sh b/bin/tests/system/unknown/tests.sh index 190b84020d..eeb8920ffa 100644 --- a/bin/tests/system/unknown/tests.sh +++ b/bin/tests/system/unknown/tests.sh @@ -122,16 +122,24 @@ do done echo_i "checking large unknown record loading on master" -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"; } +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"; } + [ "$ret" -eq 0 ] && break + sleep 1 +done [ $ret = 0 ] || echo_i "failed" status=`expr $status + $ret` echo_i "checking large unknown record loading on slave" -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"; } +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"; } + [ "$ret" -eq 0 ] && break + sleep 1 +done [ $ret = 0 ] || echo_i "failed" status=`expr $status + $ret` @@ -139,10 +147,16 @@ echo_i "stop and restart slave" $PERL $SYSTEMTESTTOP/stop.pl unknown ns2 $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 slave" -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"; } +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"; } + [ "$ret" -eq 0 ] && break + sleep 1 +done [ $ret = 0 ] || echo_i "failed" status=`expr $status + $ret` @@ -157,10 +171,16 @@ echo_i "stop and restart inline slave" $PERL $SYSTEMTESTTOP/stop.pl unknown ns3 $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 slave" -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"; } +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"; } + [ "$ret" -eq 0 ] && break + sleep 1 +done [ $ret = 0 ] || echo_i "failed" status=`expr $status + $ret` diff --git a/bin/tests/system/xfer/tests.sh b/bin/tests/system/xfer/tests.sh index 8f489f8336..13fc762c4a 100755 --- a/bin/tests/system/xfer/tests.sh +++ b/bin/tests/system/xfer/tests.sh @@ -431,12 +431,17 @@ $DIG -p ${PORT} txt mapped @10.53.0.3 > dig.out.1.$n grep "status: NOERROR," dig.out.1.$n > /dev/null || tmp=1 $PERL $SYSTEMTESTTOP/stop.pl xfer ns3 $PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} xfer ns3 -sleep 1 -$DIG -p ${PORT} txt mapped @10.53.0.3 > dig.out.2.$n -grep "status: NOERROR," dig.out.2.$n > /dev/null || tmp=1 -$DIG -p ${PORT} axfr mapped @10.53.0.3 > dig.out.3.$n -digcomp knowngood.mapped dig.out.3.$n || tmp=1 -if test $tmp != 0 ; then echo_i "failed"; fi +for try in 0 1 2 3 4 5 6 7 8 9; do + iret=0 + $DIG -p ${PORT} txt mapped @10.53.0.3 > dig.out.2.$n + grep "status: NOERROR," dig.out.2.$n > /dev/null || iret=1 + $DIG -p ${PORT} axfr mapped @10.53.0.3 > dig.out.3.$n + digcomp knowngood.mapped dig.out.3.$n || iret=1 + [ "$iret" -eq 0 ] && break + sleep 1 +done +[ "$iret" -eq 0 ] || tmp=1 +[ "$tmp" -ne 0 ] && echo_i "failed" status=`expr $status + $tmp` n=`expr $n + 1`