mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 21:10:00 -04:00
Count distinct destinations in selfpointedglue dnstap checks
Tolerates retransmissions, which would inflate a raw line count. Assisted-by: Claude:claude-opus-4-8
This commit is contained in:
parent
f758ffe0aa
commit
aac9cc40a8
1 changed files with 7 additions and 4 deletions
|
|
@ -33,8 +33,11 @@ def extract_dnstap(ns, expectedlen):
|
|||
)
|
||||
|
||||
lines = dnstapread.out.splitlines()
|
||||
assert expectedlen == len(lines)
|
||||
return list(map(line_to_ips_and_queries, lines))
|
||||
# Count distinct (destination, query) pairs, not raw lines: under load
|
||||
# named may retransmit, adding identical entries.
|
||||
ips_and_queries = list(dict.fromkeys(map(line_to_ips_and_queries, lines)))
|
||||
assert expectedlen == len(ips_and_queries)
|
||||
return ips_and_queries
|
||||
|
||||
|
||||
# Because DNSTAP doesn't have ordering guarantee, the order doesn't matter here.
|
||||
|
|
@ -65,7 +68,7 @@ def test_selfpointedglue1(ns4):
|
|||
isctest.check.servfail(res)
|
||||
|
||||
# 4 queries to get to the delegation.
|
||||
# 13 queries to delegation NS servers.
|
||||
# 13 queries to delegation NS servers (13 distinct destinations).
|
||||
ips_and_queries = extract_dnstap(ns4, 17)
|
||||
|
||||
# Thanks to the de-duplication, only the first 13 NS IPs are
|
||||
|
|
@ -87,9 +90,9 @@ def test_selfpointedglue1(ns4):
|
|||
("10.53.1.1", "a.sub.example.tld/IN/A"),
|
||||
("10.53.1.2", "a.sub.example.tld/IN/A"),
|
||||
("10.53.2.1", "a.sub.example.tld/IN/A"),
|
||||
("10.53.0.3", "a.sub.example.tld/IN/A"),
|
||||
("127.0.0.1", "a.sub.example.tld/IN/A"),
|
||||
("127.0.0.2", "a.sub.example.tld/IN/A"),
|
||||
("127.0.0.3", "a.sub.example.tld/IN/A"),
|
||||
],
|
||||
ips_and_queries,
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue