diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 23:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 23:51:28 +0000 |
commit | 754c7de1e91eeb28c6d3766900ead0c3e44fdb85 (patch) | |
tree | 51433c0e38731dc9ecd342555a56f876980b1834 /bin/tests/system/notify | |
parent | Adding debian version 1:9.16.44-1~deb11u1. (diff) | |
download | bind9-754c7de1e91eeb28c6d3766900ead0c3e44fdb85.tar.xz bind9-754c7de1e91eeb28c6d3766900ead0c3e44fdb85.zip |
Merging upstream version 1:9.16.48.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/tests/system/notify')
-rw-r--r-- | bin/tests/system/notify/tests.sh | 177 |
1 files changed, 86 insertions, 91 deletions
diff --git a/bin/tests/system/notify/tests.sh b/bin/tests/system/notify/tests.sh index c02654e..fcc51d5 100644 --- a/bin/tests/system/notify/tests.sh +++ b/bin/tests/system/notify/tests.sh @@ -23,36 +23,35 @@ n=0 # # Wait up to 10 seconds for the servers to finish starting before testing. # -for i in 1 2 3 4 5 6 7 8 9 10 -do - ret=0 - $DIG +tcp -p ${PORT} example @10.53.0.2 soa > dig.out.ns2.test$n || ret=1 - grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1 - grep "flags:.* aa[ ;]" dig.out.ns2.test$n > /dev/null || ret=1 - $DIG +tcp -p ${PORT} example @10.53.0.3 soa > dig.out.ns3.test$n || ret=1 - grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1 - grep "flags:.* aa[ ;]" dig.out.ns3.test$n > /dev/null || ret=1 - nr=`grep 'x[0-9].*sending notify to' ns2/named.run | wc -l` - [ $nr -eq 20 ] || ret=1 - [ $ret = 0 ] && break - sleep 1 +for i in 1 2 3 4 5 6 7 8 9 10; do + ret=0 + $DIG +tcp -p ${PORT} example @10.53.0.2 soa >dig.out.ns2.test$n || ret=1 + grep "status: NOERROR" dig.out.ns2.test$n >/dev/null || ret=1 + grep "flags:.* aa[ ;]" dig.out.ns2.test$n >/dev/null || ret=1 + $DIG +tcp -p ${PORT} example @10.53.0.3 soa >dig.out.ns3.test$n || ret=1 + grep "status: NOERROR" dig.out.ns3.test$n >/dev/null || ret=1 + grep "flags:.* aa[ ;]" dig.out.ns3.test$n >/dev/null || ret=1 + nr=$(grep 'x[0-9].*sending notify to' ns2/named.run | wc -l) + [ $nr -eq 20 ] || ret=1 + [ $ret = 0 ] && break + sleep 1 done -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking initial status ($n)" ret=0 -$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1 -grep "10.0.0.1" dig.out.ns2.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.2 a >dig.out.ns2.test$n || ret=1 +grep "10.0.0.1" dig.out.ns2.test$n >/dev/null || ret=1 -$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1 -grep "10.0.0.1" dig.out.ns3.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.3 a >dig.out.ns3.test$n || ret=1 +grep "10.0.0.1" dig.out.ns3.test$n >/dev/null || ret=1 digcomp dig.out.ns2.test$n dig.out.ns3.test$n || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking startup notify rate limit ($n)" ret=0 awk '/x[0-9].*sending notify to/ { @@ -86,61 +85,60 @@ END { print "average:", average; if (average < 0.180) exit(1); if (count < 20) exit(1); -}' ns2/named.run > awk.out.ns2.test$n || ret=1 +}' ns2/named.run >awk.out.ns2.test$n || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -nextpart ns3/named.run > /dev/null +nextpart ns3/named.run >/dev/null sleep 1 # make sure filesystem time stamp is newer for reload. rm -f ns2/example.db cp -f ns2/example2.db ns2/example.db if [ ! "$CYGWIN" ]; then - echo_i "reloading with example2 using HUP and waiting up to 45 seconds" - $KILL -HUP `cat ns2/named.pid` + echo_i "reloading with example2 using HUP and waiting up to 45 seconds" + $KILL -HUP $(cat ns2/named.pid) else - echo_i "reloading with example2 using rndc and waiting up to 45 seconds" - rndc_reload ns2 10.53.0.2 + echo_i "reloading with example2 using rndc and waiting up to 45 seconds" + rndc_reload ns2 10.53.0.2 fi try=0 -while test $try -lt 45 -do - nextpart ns3/named.run > tmp - grep "transfer of 'example/IN' from 10.53.0.2#.*success" tmp > /dev/null && break - sleep 1 - try=`expr $try + 1` +while test $try -lt 45; do + nextpart ns3/named.run >tmp + grep "transfer of 'example/IN' from 10.53.0.2#.*success" tmp >/dev/null && break + sleep 1 + try=$(expr $try + 1) done -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking notify message was logged ($n)" ret=0 -grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 2$' ns3/named.run > /dev/null || ret=1 +grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 2$' ns3/named.run >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking example2 loaded ($n)" ret=0 -$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1 -grep "10.0.0.2" dig.out.ns2.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.2 a >dig.out.ns2.test$n || ret=1 +grep "10.0.0.2" dig.out.ns2.test$n >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking example2 contents have been transferred after HUP reload ($n)" ret=0 -$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1 -grep "10.0.0.2" dig.out.ns2.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.2 a >dig.out.ns2.test$n || ret=1 +grep "10.0.0.2" dig.out.ns2.test$n >/dev/null || ret=1 -$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1 -grep "10.0.0.2" dig.out.ns3.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.3 a >dig.out.ns3.test$n || ret=1 +grep "10.0.0.2" dig.out.ns3.test$n >/dev/null || ret=1 digcomp dig.out.ns2.test$n dig.out.ns3.test$n || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) echo_i "stopping master and restarting with example4 then waiting up to 45 seconds" stop_server ns2 @@ -151,67 +149,65 @@ cp -f ns2/example4.db ns2/example.db start_server --noclean --restart --port "${PORT}" ns2 try=0 -while test $try -lt 45 -do - nextpart ns3/named.run > tmp - grep "transfer of 'example/IN' from 10.53.0.2#.*success" tmp > /dev/null && break - sleep 1 - try=`expr $try + 1` +while test $try -lt 45; do + nextpart ns3/named.run >tmp + grep "transfer of 'example/IN' from 10.53.0.2#.*success" tmp >/dev/null && break + sleep 1 + try=$(expr $try + 1) done -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking notify message was logged ($n)" ret=0 -grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 4$' ns3/named.run > /dev/null || ret=1 +grep 'notify from 10.53.0.2#[0-9][0-9]*: serial 4$' ns3/named.run >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking example4 loaded ($n)" ret=0 -$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1 -grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.2 a >dig.out.ns2.test$n || ret=1 +grep "10.0.0.4" dig.out.ns2.test$n >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking example4 contents have been transferred after restart ($n)" ret=0 -$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1 -grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.2 a >dig.out.ns2.test$n || ret=1 +grep "10.0.0.4" dig.out.ns2.test$n >/dev/null || ret=1 -$DIG $DIGOPTS a.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1 -grep "10.0.0.4" dig.out.ns3.test$n > /dev/null || ret=1 +$DIG $DIGOPTS a.example. @10.53.0.3 a >dig.out.ns3.test$n || ret=1 +grep "10.0.0.4" dig.out.ns3.test$n >/dev/null || ret=1 digcomp dig.out.ns2.test$n dig.out.ns3.test$n || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking notify to alternate port with master inheritance ($n)" -$NSUPDATE << EOF +$NSUPDATE <<EOF server 10.53.0.2 ${PORT} zone x21 update add added.x21 0 in txt "test string" send EOF -for i in 1 2 3 4 5 6 7 8 9 -do - $DIG $DIGOPTS added.x21. @10.53.0.4 txt -p $EXTRAPORT1 > dig.out.ns4.test$n || ret=1 - grep "test string" dig.out.ns4.test$n > /dev/null && break - sleep 1 +for i in 1 2 3 4 5 6 7 8 9; do + $DIG $DIGOPTS added.x21. @10.53.0.4 txt -p $EXTRAPORT1 >dig.out.ns4.test$n || ret=1 + grep "test string" dig.out.ns4.test$n >/dev/null && break + sleep 1 done -grep "test string" dig.out.ns4.test$n > /dev/null || ret=1 +grep "test string" dig.out.ns4.test$n >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) -n=`expr $n + 1` +n=$(expr $n + 1) echo_i "checking notify to multiple views using tsig ($n)" ret=0 -$NSUPDATE << EOF +$NSUPDATE <<EOF server 10.53.0.5 ${PORT} zone x21 key a aaaaaaaaaaaaaaaaaaaa @@ -219,24 +215,23 @@ update add added.x21 0 in txt "test string" send EOF -for i in 1 2 3 4 5 6 7 8 9 -do - $DIG $DIGOPTS added.x21. -y b:bbbbbbbbbbbbbbbbbbbb @10.53.0.5 \ - txt > dig.out.b.ns5.test$n || ret=1 - $DIG $DIGOPTS added.x21. -y c:cccccccccccccccccccc @10.53.0.5 \ - txt > dig.out.c.ns5.test$n || ret=1 - grep "test string" dig.out.b.ns5.test$n > /dev/null && - grep "test string" dig.out.c.ns5.test$n > /dev/null && - break - sleep 1 +for i in 1 2 3 4 5 6 7 8 9; do + $DIG $DIGOPTS added.x21. -y b:bbbbbbbbbbbbbbbbbbbb @10.53.0.5 \ + txt >dig.out.b.ns5.test$n || ret=1 + $DIG $DIGOPTS added.x21. -y c:cccccccccccccccccccc @10.53.0.5 \ + txt >dig.out.c.ns5.test$n || ret=1 + grep "test string" dig.out.b.ns5.test$n >/dev/null \ + && grep "test string" dig.out.c.ns5.test$n >/dev/null \ + && break + sleep 1 done -grep "test string" dig.out.b.ns5.test$n > /dev/null || ret=1 -grep "test string" dig.out.c.ns5.test$n > /dev/null || ret=1 -grep "sending notify to 10.53.0.5#[0-9]* : TSIG (b)" ns5/named.run > /dev/null || ret=1 -grep "sending notify to 10.53.0.5#[0-9]* : TSIG (c)" ns5/named.run > /dev/null || ret=1 +grep "test string" dig.out.b.ns5.test$n >/dev/null || ret=1 +grep "test string" dig.out.c.ns5.test$n >/dev/null || ret=1 +grep "sending notify to 10.53.0.5#[0-9]* : TSIG (b)" ns5/named.run >/dev/null || ret=1 +grep "sending notify to 10.53.0.5#[0-9]* : TSIG (c)" ns5/named.run >/dev/null || ret=1 [ $ret = 0 ] || echo_i "failed" -status=`expr $ret + $status` +status=$(expr $ret + $status) echo_i "exit status: $status" [ $status -eq 0 ] || exit 1 |