From a949294317f6ca714a912547601612e264ac196a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Wed, 2 Jul 2025 17:53:18 +0200 Subject: [PATCH 1/9] Increase test reruns for fetchlimit The fetchlimit test has failed 8 times in the nightly CI over the past three weeks. That makes the overall failure rate somewhere around 1 %, which isn't a lot, but is still annoying when lots of testing is going on. (cherry picked from commit ae932eefc5c8f049f29ecb14fe7a53cad5500056) --- bin/tests/system/fetchlimit/tests_sh_fetchlimit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py b/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py index 39dddf3062..2732296fc2 100644 --- a/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py +++ b/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py @@ -25,6 +25,6 @@ pytestmark = pytest.mark.extra_artifacts( import isctest.mark -@isctest.mark.flaky(max_runs=2) +@isctest.mark.flaky(max_runs=3) def test_fetchlimit(run_tests_sh): run_tests_sh() From 1b9c63a501a51b8a31c7336646a8ce917c8d930b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Wed, 2 Jul 2025 17:57:14 +0200 Subject: [PATCH 2/9] Allow reruns for test_json and test_xml tests These tests have been unstable under TSAN in the past, but it appears that the same failure mode can happen outside of TSAN tests as well. These tests have produced 12 failures combined in the past three weeks in nightlies. (cherry picked from commit 66f6f4bba99ca5975253c536bb46eae1188a28db) --- bin/tests/system/isctest/mark.py | 4 ---- bin/tests/system/statschannel/tests_json.py | 2 +- bin/tests/system/statschannel/tests_xml.py | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/bin/tests/system/isctest/mark.py b/bin/tests/system/isctest/mark.py index 254ced506c..88a6c6b71d 100644 --- a/bin/tests/system/isctest/mark.py +++ b/bin/tests/system/isctest/mark.py @@ -53,10 +53,6 @@ def is_dnsrps_available(): return True -def with_tsan(*args): # pylint: disable=unused-argument - return feature_test("--tsan") - - def with_algorithm(name: str): key = f"{name}_SUPPORTED" assert key in os.environ, f"{key} env variable undefined" diff --git a/bin/tests/system/statschannel/tests_json.py b/bin/tests/system/statschannel/tests_json.py index ddd6d6210a..4b650b3145 100755 --- a/bin/tests/system/statschannel/tests_json.py +++ b/bin/tests/system/statschannel/tests_json.py @@ -119,6 +119,6 @@ def test_zone_with_many_keys_json(statsport): ) -@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.with_tsan) +@isctest.mark.flaky(max_runs=2) def test_traffic_json(statsport): generic.test_traffic(fetch_traffic_json, statsip="10.53.0.2", statsport=statsport) diff --git a/bin/tests/system/statschannel/tests_xml.py b/bin/tests/system/statschannel/tests_xml.py index 4271636101..22e03871a6 100755 --- a/bin/tests/system/statschannel/tests_xml.py +++ b/bin/tests/system/statschannel/tests_xml.py @@ -148,6 +148,6 @@ def test_zone_with_many_keys_xml(statsport): ) -@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.with_tsan) +@isctest.mark.flaky(max_runs=2) def test_traffic_xml(statsport): generic.test_traffic(fetch_traffic_xml, statsip="10.53.0.2", statsport=statsport) From 92d79549c1202baf8232b34396e1ee6ff9101cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Wed, 2 Jul 2025 18:00:16 +0200 Subject: [PATCH 3/9] Increase test re-runs for enginepkcs11 The enginepkcs11 test has been chronically unstable for quite a while. With no fix in sight, increase the number of allowed re-runs to reduce the number of failures we see in the CI. (cherry picked from commit 87ab198b73ce774cfb15541c32bee42e963c2c9b) --- bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py b/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py index 5a5fef62d5..b8fe114eb8 100644 --- a/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py +++ b/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py @@ -53,6 +53,6 @@ pytestmark = pytest.mark.extra_artifacts( ) -@isctest.mark.flaky(max_runs=3) # GL#4605 +@isctest.mark.flaky(max_runs=5) # GL#4605 def test_enginepkcs11(run_tests_sh): run_tests_sh() From 586973216d2eadf4dd8bb0ec6830a18422d4b088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Thu, 3 Jul 2025 13:26:14 +0200 Subject: [PATCH 4/9] Remove token deletion check in keyfromlabel test This removes a leftover check which should've been removed in a prior change (see #5244). The softhsm2 failures when attempting to delete the token should be ignored. (cherry picked from commit 6755d741e418ebf813b6879134911570a00a082d) --- bin/tests/system/keyfromlabel/tests_keyfromlabel.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/tests/system/keyfromlabel/tests_keyfromlabel.py b/bin/tests/system/keyfromlabel/tests_keyfromlabel.py index 1f4ab8009e..6c1d0b67fd 100644 --- a/bin/tests/system/keyfromlabel/tests_keyfromlabel.py +++ b/bin/tests/system/keyfromlabel/tests_keyfromlabel.py @@ -86,7 +86,6 @@ def token_init_and_cleanup(): raise_on_exception=False, ).stdout.decode("utf-8") assert re.search("Found token (.*) with matching token label", output) - assert re.search("The token (.*) has been deleted", output) # pylint: disable-msg=too-many-locals From 9a5050eaa74b864bdd2760dafaaf959c23c79f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Thu, 3 Jul 2025 14:02:57 +0200 Subject: [PATCH 5/9] Mark the serve_stale system test as flaky The serve_stale test has some inherent instabilities affecting many different checks. While the failure rate isn't too high (about four failures in past three weeks of nightlies), it gets ignored, because the test has been unstable for a very long time. (cherry picked from commit 1e0df480c75f474f58e556f49c89b48ee38f4a1d) --- bin/tests/system/serve-stale/tests_sh_serve_stale.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/tests/system/serve-stale/tests_sh_serve_stale.py b/bin/tests/system/serve-stale/tests_sh_serve_stale.py index 18b84e8b79..b55336d2b6 100644 --- a/bin/tests/system/serve-stale/tests_sh_serve_stale.py +++ b/bin/tests/system/serve-stale/tests_sh_serve_stale.py @@ -11,6 +11,8 @@ import pytest +import isctest.mark + pytestmark = pytest.mark.extra_artifacts( [ "dig.out.*", @@ -24,5 +26,6 @@ pytestmark = pytest.mark.extra_artifacts( ) +@isctest.mark.flaky(max_runs=2) def test_serve_stale(run_tests_sh): run_tests_sh() From 683e7e21ef1cc5bf0d4861efb3afed732a1334d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Thu, 3 Jul 2025 14:40:06 +0200 Subject: [PATCH 6/9] Allow dnstap system test rerun on freebsd13 The check "unix socket message counts" sometimes fails with "dnstap output file smaller than expected". This only happens on freebsd13 and can't be reproduced easily. There was an attempt to decrease the required file size in the past, but apparently, the issue can still occur. (cherry picked from commit 34867e16936f79905b7189bd7d51248527e57ce3) --- bin/tests/system/dnstap/tests_sh_dnstap.py | 1 + bin/tests/system/isctest/mark.py | 5 +++++ bin/tests/system/timeouts/tests_tcp_timeouts.py | 7 +------ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/tests/system/dnstap/tests_sh_dnstap.py b/bin/tests/system/dnstap/tests_sh_dnstap.py index 10d9a4111b..e487ca2d08 100644 --- a/bin/tests/system/dnstap/tests_sh_dnstap.py +++ b/bin/tests/system/dnstap/tests_sh_dnstap.py @@ -31,5 +31,6 @@ pytestmark = [ ] +@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) def test_dnstap(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/isctest/mark.py b/bin/tests/system/isctest/mark.py index 88a6c6b71d..5d23dca6f6 100644 --- a/bin/tests/system/isctest/mark.py +++ b/bin/tests/system/isctest/mark.py @@ -13,6 +13,7 @@ import os from pathlib import Path +import platform import shutil import subprocess @@ -53,6 +54,10 @@ def is_dnsrps_available(): return True +def is_host_freebsd_13(*_): + return platform.system() == "FreeBSD" and platform.release().startswith("13") + + def with_algorithm(name: str): key = f"{name}_SUPPORTED" assert key in os.environ, f"{key} env variable undefined" diff --git a/bin/tests/system/timeouts/tests_tcp_timeouts.py b/bin/tests/system/timeouts/tests_tcp_timeouts.py index 1750715ce0..1fe1088a69 100644 --- a/bin/tests/system/timeouts/tests_tcp_timeouts.py +++ b/bin/tests/system/timeouts/tests_tcp_timeouts.py @@ -13,7 +13,6 @@ # pylint: disable=unused-variable -import platform import socket import time @@ -68,11 +67,7 @@ def test_initial_timeout(named_port): raise EOFError from e -def is_host_freebsd_13(*_): - return platform.system() == "FreeBSD" and platform.release().startswith("13") - - -@isctest.mark.flaky(max_runs=2, rerun_filter=is_host_freebsd_13) +@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) def test_idle_timeout(named_port): # # The idle timeout is 5 seconds, so the third message should fail From b88db3302ba022c7d192ad56502b1eff3260d47b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Thu, 3 Jul 2025 14:50:25 +0200 Subject: [PATCH 7/9] Mark secondary.kasp test case as flaky on freebsd13 The test_kasp_case[secondary.kasp] can sometimes fail on freebsd13. It appears the test gets stuck on some operation which should be very quick, but for some reason takes at least a few seconds, causing the cb_ixfr_is_signed() function to time out. In one of the cases I investigated, it wasn't a query/response that caused a timeout, but rather some operation in between. The test attempts to read from a keyfile/statefile, but I see no reason why that should block. In any case, try to increase the timeout for the verification, as that shouldn't hurt. Also allow the test to be re-run on freebsd13, as it's likely to be caused by some odd behaviour on that platform -- the issue doesn't appear anywhere else. (cherry picked from commit 126a59cef2b3407579ff99c260e25a49d67192b6) --- bin/tests/system/kasp/tests_kasp.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/tests/system/kasp/tests_kasp.py b/bin/tests/system/kasp/tests_kasp.py index 9ffd70b87c..039b302801 100644 --- a/bin/tests/system/kasp/tests_kasp.py +++ b/bin/tests/system/kasp/tests_kasp.py @@ -203,7 +203,7 @@ def cb_ixfr_is_signed(expected_updates, params, ksks=None, zsks=None): ) for update in expected_updates: - isctest.run.retry_with_timeout(update_is_signed, timeout=5) + isctest.run.retry_with_timeout(update_is_signed, timeout=10) def cb_rrsig_refresh(params, ksks=None, zsks=None): @@ -586,6 +586,9 @@ def cb_remove_keyfiles(params, ksks=None, zsks=None): ], }, id="secondary.kasp", + marks=pytest.mark.flaky( + max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13 + ), ), pytest.param( { From 5f95ab6c54ff61b517fca9bf5a0398b994c798d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Thu, 3 Jul 2025 15:22:23 +0200 Subject: [PATCH 8/9] Use pytest.mark.flaky as the flaky marker It's possible to use pytest.mark.flaky, which achieves the exact same thing as our custom-defined isctest.mark.flaky -- attempts to rerun the test on failure, but only is flaky package is available. (cherry picked from commit 4c487c811db579e50cbd6bfdb20379eec793cb8c) --- bin/tests/system/autosign/tests_sh_autosign.py | 4 +--- bin/tests/system/dnstap/tests_sh_dnstap.py | 2 +- .../enginepkcs11/tests_sh_enginepkcs11.py | 4 +--- .../system/fetchlimit/tests_sh_fetchlimit.py | 4 +--- bin/tests/system/isctest/mark.py | 17 ----------------- bin/tests/system/mkeys/tests_sh_mkeys.py | 4 +--- bin/tests/system/nsupdate/tests_sh_nsupdate.py | 4 +--- bin/tests/system/qmin/tests_sh_qmin.py | 4 +--- bin/tests/system/reclimit/tests_sh_reclimit.py | 4 +--- bin/tests/system/rrl/tests_sh_rrl.py | 4 +--- .../system/serve-stale/tests_sh_serve_stale.py | 4 +--- bin/tests/system/statschannel/tests_json.py | 2 +- bin/tests/system/statschannel/tests_xml.py | 2 +- bin/tests/system/timeouts/tests_tcp_timeouts.py | 4 ++-- 14 files changed, 14 insertions(+), 49 deletions(-) diff --git a/bin/tests/system/autosign/tests_sh_autosign.py b/bin/tests/system/autosign/tests_sh_autosign.py index b373e03b6a..ef11cbe21a 100644 --- a/bin/tests/system/autosign/tests_sh_autosign.py +++ b/bin/tests/system/autosign/tests_sh_autosign.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "active.key", @@ -151,6 +149,6 @@ pytestmark = pytest.mark.extra_artifacts( ) -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_autosign(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/dnstap/tests_sh_dnstap.py b/bin/tests/system/dnstap/tests_sh_dnstap.py index e487ca2d08..8fef97a47e 100644 --- a/bin/tests/system/dnstap/tests_sh_dnstap.py +++ b/bin/tests/system/dnstap/tests_sh_dnstap.py @@ -31,6 +31,6 @@ pytestmark = [ ] -@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) +@pytest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) def test_dnstap(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py b/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py index b8fe114eb8..6ef8a81ef1 100644 --- a/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py +++ b/bin/tests/system/enginepkcs11/tests_sh_enginepkcs11.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "dig.out.*", @@ -53,6 +51,6 @@ pytestmark = pytest.mark.extra_artifacts( ) -@isctest.mark.flaky(max_runs=5) # GL#4605 +@pytest.mark.flaky(max_runs=5) # GL#4605 def test_enginepkcs11(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py b/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py index 2732296fc2..23076980b5 100644 --- a/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py +++ b/bin/tests/system/fetchlimit/tests_sh_fetchlimit.py @@ -22,9 +22,7 @@ pytestmark = pytest.mark.extra_artifacts( ] ) -import isctest.mark - -@isctest.mark.flaky(max_runs=3) +@pytest.mark.flaky(max_runs=3) def test_fetchlimit(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/isctest/mark.py b/bin/tests/system/isctest/mark.py index 5d23dca6f6..7c77f3815f 100644 --- a/bin/tests/system/isctest/mark.py +++ b/bin/tests/system/isctest/mark.py @@ -99,20 +99,3 @@ softhsm2_environment = pytest.mark.skipif( ), reason="SOFTHSM2_CONF and SOFTHSM2_MODULE environmental variables must be set and pkcs11-tool and softhsm2-util tools present", ) - -try: - import flaky as flaky_pkg # type: ignore -except ModuleNotFoundError: - # In case the flaky package is not installed, run the tests as usual - # without any attempts to re-run them. - # pylint: disable=unused-argument - def flaky(*args, **kwargs): - """Mock decorator that doesn't do anything special, just returns the function.""" - - def wrapper(wrapped_obj): - return wrapped_obj - - return wrapper - -else: - flaky = flaky_pkg.flaky diff --git a/bin/tests/system/mkeys/tests_sh_mkeys.py b/bin/tests/system/mkeys/tests_sh_mkeys.py index a98c98ffaf..3bf2549500 100644 --- a/bin/tests/system/mkeys/tests_sh_mkeys.py +++ b/bin/tests/system/mkeys/tests_sh_mkeys.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = [ pytest.mark.algorithm_set("ecc_default"), pytest.mark.extra_artifacts( @@ -52,6 +50,6 @@ pytestmark = [ ] -@isctest.mark.flaky(max_runs=2) # GL#3098 +@pytest.mark.flaky(max_runs=2) # GL#3098 def test_mkeys(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/nsupdate/tests_sh_nsupdate.py b/bin/tests/system/nsupdate/tests_sh_nsupdate.py index 20d8fc9b6d..bd41ac64c5 100644 --- a/bin/tests/system/nsupdate/tests_sh_nsupdate.py +++ b/bin/tests/system/nsupdate/tests_sh_nsupdate.py @@ -13,8 +13,6 @@ import platform import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "Kxxx*", @@ -80,6 +78,6 @@ pytestmark = pytest.mark.extra_artifacts( MAX_RUNS = 2 if platform.system() == "FreeBSD" else 1 # GL#3846 -@isctest.mark.flaky(max_runs=MAX_RUNS) +@pytest.mark.flaky(max_runs=MAX_RUNS) def test_nsupdate(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/qmin/tests_sh_qmin.py b/bin/tests/system/qmin/tests_sh_qmin.py index 2d9f90b4db..1116f7ec6c 100644 --- a/bin/tests/system/qmin/tests_sh_qmin.py +++ b/bin/tests/system/qmin/tests_sh_qmin.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "dig.out.*", @@ -25,6 +23,6 @@ pytestmark = pytest.mark.extra_artifacts( # The qmin test is inherently unstable, see GL #904 for details. -@isctest.mark.flaky(max_runs=3) +@pytest.mark.flaky(max_runs=3) def test_qmin(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/reclimit/tests_sh_reclimit.py b/bin/tests/system/reclimit/tests_sh_reclimit.py index 6a0ab31556..d22d10a523 100644 --- a/bin/tests/system/reclimit/tests_sh_reclimit.py +++ b/bin/tests/system/reclimit/tests_sh_reclimit.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "dig.out.*", @@ -27,6 +25,6 @@ pytestmark = pytest.mark.extra_artifacts( # The reclimit is known to be quite unstable. GL #1587 -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_reclimit(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/rrl/tests_sh_rrl.py b/bin/tests/system/rrl/tests_sh_rrl.py index 99be723c93..12ce0ca29f 100644 --- a/bin/tests/system/rrl/tests_sh_rrl.py +++ b/bin/tests/system/rrl/tests_sh_rrl.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "*mdig.out*", @@ -24,6 +22,6 @@ pytestmark = pytest.mark.extra_artifacts( # The rrl is known to be quite unstable. GL #172 -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_rrl(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/serve-stale/tests_sh_serve_stale.py b/bin/tests/system/serve-stale/tests_sh_serve_stale.py index b55336d2b6..48b8cf1f17 100644 --- a/bin/tests/system/serve-stale/tests_sh_serve_stale.py +++ b/bin/tests/system/serve-stale/tests_sh_serve_stale.py @@ -11,8 +11,6 @@ import pytest -import isctest.mark - pytestmark = pytest.mark.extra_artifacts( [ "dig.out.*", @@ -26,6 +24,6 @@ pytestmark = pytest.mark.extra_artifacts( ) -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_serve_stale(run_tests_sh): run_tests_sh() diff --git a/bin/tests/system/statschannel/tests_json.py b/bin/tests/system/statschannel/tests_json.py index 4b650b3145..21f2402243 100755 --- a/bin/tests/system/statschannel/tests_json.py +++ b/bin/tests/system/statschannel/tests_json.py @@ -119,6 +119,6 @@ def test_zone_with_many_keys_json(statsport): ) -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_traffic_json(statsport): generic.test_traffic(fetch_traffic_json, statsip="10.53.0.2", statsport=statsport) diff --git a/bin/tests/system/statschannel/tests_xml.py b/bin/tests/system/statschannel/tests_xml.py index 22e03871a6..796eea9d24 100755 --- a/bin/tests/system/statschannel/tests_xml.py +++ b/bin/tests/system/statschannel/tests_xml.py @@ -148,6 +148,6 @@ def test_zone_with_many_keys_xml(statsport): ) -@isctest.mark.flaky(max_runs=2) +@pytest.mark.flaky(max_runs=2) def test_traffic_xml(statsport): generic.test_traffic(fetch_traffic_xml, statsip="10.53.0.2", statsport=statsport) diff --git a/bin/tests/system/timeouts/tests_tcp_timeouts.py b/bin/tests/system/timeouts/tests_tcp_timeouts.py index 1fe1088a69..cb8defa71e 100644 --- a/bin/tests/system/timeouts/tests_tcp_timeouts.py +++ b/bin/tests/system/timeouts/tests_tcp_timeouts.py @@ -67,7 +67,7 @@ def test_initial_timeout(named_port): raise EOFError from e -@isctest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) +@pytest.mark.flaky(max_runs=2, rerun_filter=isctest.mark.is_host_freebsd_13) def test_idle_timeout(named_port): # # The idle timeout is 5 seconds, so the third message should fail @@ -189,7 +189,7 @@ def test_long_axfr(named_port): assert soa is not None -@isctest.mark.flaky(max_runs=3) +@pytest.mark.flaky(max_runs=3) def test_send_timeout(named_port): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.connect(("10.53.0.1", named_port)) From 6566225033a70befeb30e17f6138cf5f34ea52d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Fri, 4 Jul 2025 15:41:04 +0200 Subject: [PATCH 9/9] Remove unstable check from digdelv test The code which checks for both IPv4 and IPv6 mixed usage is inherently unstable, since the address family is chosen randomly for each connection. Closes #5406 (cherry picked from commit b98660e93e3925a0cb2ef57b0481ef4640ce4dc5) --- bin/tests/system/digdelv/tests.sh | 9 --------- 1 file changed, 9 deletions(-) diff --git a/bin/tests/system/digdelv/tests.sh b/bin/tests/system/digdelv/tests.sh index 79db74f8ed..071929a542 100644 --- a/bin/tests/system/digdelv/tests.sh +++ b/bin/tests/system/digdelv/tests.sh @@ -1759,15 +1759,6 @@ if [ -x "$DELV" ]; then status=$((status + ret)) if testsock6 fd92:7065:b8e:ffff::2 2>/dev/null; then - n=$((n + 1)) - echo_i "checking delv +ns uses both address families ($n)" - ret=0 - delv_with_opts -a ns1/anchor.dnskey +root +ns +hint=root.hint a a.example >delv.out.test$n || ret=1 - grep -qF 'sending packet to 10.53' delv.out.test$n >/dev/null || ret=1 - grep -qF 'sending packet to fd92:7065' delv.out.test$n >/dev/null || ret=1 - if [ $ret -ne 0 ]; then echo_i "failed"; fi - status=$((status + ret)) - n=$((n + 1)) echo_i "checking delv -4 +ns uses only IPv4 ($n)" ret=0