]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Wait for log zone_needdump is more reliable
authorMatthijs Mekking <matthijs@isc.org>
Thu, 20 Nov 2025 13:10:45 +0000 (14:10 +0100)
committerMatthijs Mekking <matthijs@isc.org>
Mon, 1 Dec 2025 13:24:45 +0000 (14:24 +0100)
In some cases we wait for the log message "sending notifies" before
proceeding with the test case. Notifies are rate limited. They are not
sent on every change to the zone. The "zone_needdump" messages happen on
every change.

(cherry picked from commit c17ac426082b2eca802dd1b2e1bb9b4b4b291199)

bin/tests/system/nsec3/tests_nsec3_reconfig.py
bin/tests/system/rollover-zsk-prepub/tests_rollover_zsk_prepublication.py

index 47cd77ecf2fe1a26c86d5aa1426591bb8ae90027..3b791eba11820b8f36a8942e5c4411410a8b065e 100644 (file)
@@ -326,9 +326,13 @@ def test_nsec3_ent(ns3, templates):
     # remove a name, bump the SOA, and reload
     templates.render(f"{ns3.identifier}/nsec3-ent.kasp.db", {"serial": 2})
 
+    messages = [
+        f"zone {zone}/IN (unsigned): loaded serial 2",
+        f"zone_needdump: zone {zone}/IN (signed): enter",
+    ]
     with ns3.watch_log_from_here() as watcher:
         ns3.rndc(f"reload {zone}")
-        watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+        watcher.wait_for_sequence(messages)
 
     # try the query again
     query = isctest.query.create(f"c.{fqdn}", dns.rdatatype.A)
@@ -345,9 +349,13 @@ def test_nsec3_ent(ns3, templates):
     # add a name with an ENT, bump the SOA, and reload ensuring the time stamp changes
     templates.render(f"{ns3.identifier}/nsec3-ent.kasp.db", {"serial": 3})
 
+    messages = [
+        f"zone {zone}/IN (unsigned): loaded serial 3",
+        f"zone_needdump: zone {zone}/IN (signed): enter",
+    ]
     with ns3.watch_log_from_here() as watcher:
         ns3.rndc(f"reload {zone}")
-        watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+        watcher.wait_for_sequence(messages)
 
     # try the query again
     query = isctest.query.create(f"x.y.z.{fqdn}", dns.rdatatype.A)
index 702c0f26ad4bed17eaaf893ac4a592f97b6c76aa..3abf4e2d62a074355bb38b98416c191a2a75f40f 100644 (file)
@@ -225,7 +225,7 @@ def test_zsk_prepub_step3(tld, alg, size, ns3):
     # Force full resign and check all signatures have been replaced.
     with ns3.watch_log_from_here() as watcher:
         ns3.rndc(f"sign {zone}", log=False)
-        watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+        watcher.wait_for_line(f"zone_needdump: zone {zone}/IN (signed): enter")
 
     step["smooth"] = False
     step["nextev"] = Iret(CONFIG, smooth=False)