mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-22 18:17:05 -04:00
Fix a race condition in dnssec test
When dumpdb command is executed, it might take a while until the file is written. Rather than checking the file once, use the WatchLog mechanism to allow the desired line to appear before a timeout happens. This affected test_validation_recovery and test_cache tests which have been intermittently failing on EL8 in our CI.
This commit is contained in:
parent
11e6d1c0b9
commit
6eb2088320
1 changed files with 9 additions and 8 deletions
|
|
@ -704,13 +704,14 @@ def test_negative_validation_optout():
|
|||
|
||||
|
||||
def test_cache(ns4):
|
||||
# check that key id's are logged when dumping the cache
|
||||
ns4.rndc("dumpdb -cache")
|
||||
dumpdb = isctest.text.TextFile("ns4/named_dump.db")
|
||||
assert "; key id = " in dumpdb
|
||||
|
||||
# check for RRSIG covered type in negative cache
|
||||
assert "; example. RRSIG NSEC " in dumpdb
|
||||
with isctest.log.WatchLogFromStart("ns4/named_dump.db") as watcher:
|
||||
watcher.wait_for_all(
|
||||
[
|
||||
"; key id = ", # check that key id's are logged when dumping the cache
|
||||
"; example. RRSIG NSEC ", # check for RRSIG covered type in negative cache
|
||||
]
|
||||
)
|
||||
|
||||
# check validated data are not cached longer than originalttl
|
||||
msg = isctest.query.create("a.ttlpatch.example", "A")
|
||||
|
|
@ -938,8 +939,8 @@ def test_validation_recovery(ns2, ns4):
|
|||
res = isctest.query.tcp(msg, "10.53.0.4")
|
||||
isctest.check.servfail(res)
|
||||
ns4.rndc("dumpdb")
|
||||
dumpdb = isctest.text.TextFile("ns4/named_dump.db")
|
||||
assert "10.53.0.100" in dumpdb
|
||||
with isctest.log.WatchLogFromStart("ns4/named_dump.db") as watcher:
|
||||
watcher.wait_for_line("10.53.0.100")
|
||||
|
||||
# then reload server with properly signed zone
|
||||
shutil.copyfile(
|
||||
|
|
|
|||
Loading…
Reference in a new issue