mirror of
https://gitlab.nic.cz/knot/knot-dns.git
synced 2026-06-04 14:13:08 -04:00
tests-extra: modules/rrl -- make the test more stable under Valgrind
By allowing the test to send more requests under Valgrind, there is a better statistical chance for obtaining more accurate test results and avoiding false test failure (it should prevent false RRL ERRORs). Under Valgrind, it is also safer to provide the server more time to respond (it should prevent false RRL STATS ERRORs).
This commit is contained in:
parent
fc92713e80
commit
dfe5e3feda
1 changed files with 10 additions and 5 deletions
|
|
@ -23,10 +23,15 @@ knot = t.server("knot")
|
|||
zones = t.zone_rnd(2, dnssec=False, records=1)
|
||||
t.link(zones, knot)
|
||||
|
||||
def send_queries(server, name, run_time=1.0, query_time=0.05):
|
||||
def send_queries(server, name, run_time=None, query_time=None):
|
||||
"""
|
||||
Send UDP queries to the server for certain time and get replies statistics.
|
||||
"""
|
||||
if run_time is None:
|
||||
run_time = 1.0 if not server.valgrind else 3.0
|
||||
if query_time is None:
|
||||
query_time = 0.05 if not server.valgrind else 0.25
|
||||
|
||||
replied, slipped, dropped = 0, 0, 0
|
||||
start = time.time()
|
||||
while time.time() < start + run_time:
|
||||
|
|
@ -156,11 +161,11 @@ detail_log(SEP)
|
|||
|
||||
# 50% slip
|
||||
reconfigure(knot, None, 5, 2)
|
||||
res = send_queries(knot, zones[0].name)
|
||||
res = send_queries(knot, zones[0].name, run_time=5.0)
|
||||
check_result("global, zone 1, 50% slip", res, 5, 2)
|
||||
cmp_stats(knot, res)
|
||||
time.sleep(2)
|
||||
res = send_queries(knot, zones[1].name)
|
||||
res = send_queries(knot, zones[1].name, run_time=5.0)
|
||||
check_result("global, zone 2, 50% slip", res, 5, 2)
|
||||
detail_log(SEP)
|
||||
|
||||
|
|
@ -198,11 +203,11 @@ detail_log(SEP)
|
|||
|
||||
# 50% slip
|
||||
reconfigure(knot, zones[0], 5, 2)
|
||||
res = send_queries(knot, zones[0].name)
|
||||
res = send_queries(knot, zones[0].name, run_time=5.0)
|
||||
check_result("zone 1, 50% slip", res, 5, 2)
|
||||
cmp_stats(knot, res, zones[0].name)
|
||||
time.sleep(2)
|
||||
res = send_queries(knot, zones[1].name)
|
||||
res = send_queries(knot, zones[1].name, run_time=5.0)
|
||||
check_result("zone 2, disabled", res)
|
||||
detail_log(SEP)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue