]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
tests-extra: modules/rrl -- make the test more stable under Valgrind
authorDavid Vašek <david.vasek@nic.cz>
Fri, 22 May 2020 21:51:26 +0000 (23:51 +0200)
committerDavid Vašek <david.vasek@nic.cz>
Fri, 29 May 2020 21:52:38 +0000 (23:52 +0200)
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).

tests-extra/tests/modules/rrl/test.py

index 3f2fcbc8861450dd99d08b0fb87b9be464c7817d..adf530dd4451edc80581add4602c79b02b5f59d3 100644 (file)
@@ -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)