From 6b30bc73c049b201e4736a789c47fb39b9c1e2c6 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 20 Jul 2018 08:11:49 +1000 Subject: [PATCH 1/2] save SOA values --- bin/tests/system/nsupdate/tests.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh index 40714030c46..5902c803245 100755 --- a/bin/tests/system/nsupdate/tests.sh +++ b/bin/tests/system/nsupdate/tests.sh @@ -266,7 +266,8 @@ END n=`expr $n + 1` ret=0 echo_i "check that unixtime serial number is correctly generated ($n)" -oldserial=`$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 | awk '{print $3}'` || ret=1 +$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 > dig.out.old.test$n || ret=1 +oldserial=`awk '{print $3}' dig.out.old.test$n` || ret=1 $NSUPDATE < /dev/null 2>&1 || ret=1 server 10.53.0.1 ${PORT} ttl 600 @@ -275,7 +276,8 @@ $NSUPDATE < /dev/null 2>&1 || ret=1 END now=`$PERL -e 'print time()."\n";'` sleep 1 -serial=`$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 | awk '{print $3}'` || ret=1 +$DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 > dig.out.new.test$n || ret=1 +serial=`awk '{print $3}' dig.out.new.test$n` || ret=1 [ "$oldserial" -ne "$serial" ] || ret=1 # allow up to 2 seconds difference between the serial # number and the unix epoch date but no more -- GitLab From abe41ba0118783c8689a5086800ff6d919babdb7 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 25 Jul 2018 11:19:08 +1000 Subject: [PATCH 2/2] use guard values for testing unixtime serial --- bin/tests/system/nsupdate/tests.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh index 5902c803245..03f9fc84079 100755 --- a/bin/tests/system/nsupdate/tests.sh +++ b/bin/tests/system/nsupdate/tests.sh @@ -268,6 +268,7 @@ ret=0 echo_i "check that unixtime serial number is correctly generated ($n)" $DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 > dig.out.old.test$n || ret=1 oldserial=`awk '{print $3}' dig.out.old.test$n` || ret=1 +start=`$PERL -e 'print time()."\n";'` $NSUPDATE < /dev/null 2>&1 || ret=1 server 10.53.0.1 ${PORT} ttl 600 @@ -278,10 +279,12 @@ now=`$PERL -e 'print time()."\n";'` sleep 1 $DIG $DIGOPTS +short unixtime.nil. soa @10.53.0.1 > dig.out.new.test$n || ret=1 serial=`awk '{print $3}' dig.out.new.test$n` || ret=1 -[ "$oldserial" -ne "$serial" ] || ret=1 -# allow up to 2 seconds difference between the serial -# number and the unix epoch date but no more -$PERL -e 'exit 1 if abs($ARGV[1] - $ARGV[0]) > 2;' $now $serial || ret=1 +[ "$oldserial" = "$serial" ] && { echo_i "oldserial == serial"; ret=1; } +if [ "$serial" -lt "$start" ]; then + echo_i "out-of-range serial=$serial < start=$start"; ret=1; +elif [ "$serial" -gt "$now" ]; then + echo_i "out-of-range serial=$serial > now=$now"; ret=1; +fi [ $ret = 0 ] || { echo_i "failed"; status=1; } ret=0 -- GitLab