]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Mark the qpdb unit test as flaky 12427/head
authorNicki Křížek <nicki@isc.org>
Mon, 20 Jul 2026 12:55:11 +0000 (12:55 +0000)
committerNicki Křížek <nicki@isc.org>
Mon, 20 Jul 2026 12:55:11 +0000 (12:55 +0000)
The qpdb unit test intermittently aborts on the
`isc_mem_inuse(mctx) >= hiwater` assertion in the overmempurge tests
(#6267) and is not reliably reproducible. Extend the flaky-test retry
mechanism from tests/isc to tests/dns so CI re-runs qpdb before
declaring the job failed.

Assisted-by: Claude:claude-fable-5
tests/dns/meson.build

index 36294a0629c43bedbe40020190dcead9cb1b6628..885987cf78ba69619b7d6a362946a1b9fecd8916 100644 (file)
@@ -53,6 +53,10 @@ dns_tests = [
     'zt',
 ]
 
+flaky_dns_tests = [
+    'qpdb',
+]
+
 _all_dns_tests = dns_tests + ['geoip', 'dnstap']
 run_command(
     check_test_registration,
@@ -118,13 +122,26 @@ foreach unit : dns_tests
         ],
     )
 
+    suites = ['dns', 'cmocka']
+    timeout = 300
+    unit_env = test_env
+    if unit in flaky_dns_tests
+        suites += 'flaky'
+        # Pass FLAKY and TIMEOUT to the test wrapper so it can retry
+        # appropriately.  Build a fresh environment instead of mutating the
+        # shared test_env, which meson stores by reference and would otherwise
+        # leak these variables into every other test.
+        unit_env = environment(
+            test_env_vars + {'FLAKY': '1', 'TIMEOUT': timeout.to_string()},
+        )
+    endif
     test(
         unit,
         test_bin,
         depends: master_data,
-        env: test_env,
-        suite: ['dns', 'cmocka'],
-        timeout: 300,
+        env: unit_env,
+        suite: suites,
+        timeout: timeout,
         workdir: meson.current_source_dir(),
     )
 endforeach