]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Simplify resolver delegation expiry test
authorColin Vidal <colin@isc.org>
Wed, 18 Feb 2026 15:04:04 +0000 (16:04 +0100)
committerColin Vidal <colin@isc.org>
Mon, 30 Mar 2026 18:41:13 +0000 (20:41 +0200)
Remove the dynamic NS update loop from the delegation expiry test.
With the delegation DB, it is sufficient to wait for the delegation
to expire (after 5 seconds) and verify that names below the removed
zone return NXDOMAIN.

bin/tests/system/resolver/tests.sh

index e9affc1cb4dfee304b02555c8819b20637a62ab0..18893edd699be84d43b21aea50d0fbec81dee7c8 100755 (executable)
@@ -439,24 +439,15 @@ grep "status: NOERROR" dig.ns5.prime.${n} >/dev/null || {
 }
 cp ns4/tld2.db ns4/tld.db
 rndc_reload ns4 10.53.0.4 tld
-old=
 for i in 0 1 2 3 4 5 6 7 8 9; do
   foo=0
   dig_with_opts @10.53.0.5 ns$i.to-be-removed.tld A >/dev/null
   dig_with_opts @10.53.0.5 www.to-be-removed.tld A >dig.ns5.out.${n}
   grep "status: NXDOMAIN" dig.ns5.out.${n} >/dev/null || foo=1
-  [ $foo = 0 ] && break
-  $NSUPDATE <<EOF
-server 10.53.0.6 ${PORT}
-zone to-be-removed.tld
-update add to-be-removed.tld 100 NS ns${i}.to-be-removed.tld
-update delete to-be-removed.tld NS ns${old}.to-be-removed.tld
-send
-EOF
-  old=$i
   sleep 1
+  # After 5 seconds, the delegation expires, so we expect NXDOMAIN
+  [ $i -gt 5 ] && [ $foo -eq 1 ] && ret=1
 done
-[ $ret = 0 ] && ret=$foo
 if [ $ret != 0 ]; then
   echo_i "failed"
   status=1