From: Mark Andrews Date: Wed, 25 Jul 2018 01:19:08 +0000 (+1000) Subject: use guard values for testing unixtime serial X-Git-Tag: v9.13.3~85^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abe41ba0118783c8689a5086800ff6d919babdb7;p=thirdparty%2Fbind9.git use guard values for testing unixtime serial --- 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