From cb838d4ae15895e8f2e3d20ba0c9fdd08d7ad0ce Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 8 Oct 2026 07:10:55 -0400 Subject: [PATCH] test(abcip): scale the lease-soak budget with AB_LEASE_SOAK_CYCLES (#593) 200 cycles against ab_server pass (3m19s); a fixed 120s budget timed out above ~100 cycles. Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe --- .../NativeLeaseReleaseSoakTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/NativeLeaseReleaseSoakTests.cs b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/NativeLeaseReleaseSoakTests.cs index 0624ebb8..a48d8b1f 100644 --- a/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/NativeLeaseReleaseSoakTests.cs +++ b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/NativeLeaseReleaseSoakTests.cs @@ -54,7 +54,9 @@ public sealed class NativeLeaseReleaseSoakTests UseConnectedMessaging: true); using var budget = CancellationTokenSource.CreateLinkedTokenSource(TestContext.Current.CancellationToken); - budget.CancelAfter(TimeSpan.FromSeconds(120)); + // ~1 s per cycle against ab_server (close + re-open + read), so the budget scales with the + // cycle count; a fixed budget made AB_LEASE_SOAK_CYCLES above ~100 time out, not fail. + budget.CancelAfter(TimeSpan.FromSeconds(60 + 3 * cycles)); for (var i = 0; i < cycles; i++) {