From 5575e014e7e7b55f7f8dce14c213589b8edca7c8 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 10 Nov 2026 12:49:54 -0500 Subject: [PATCH] test(opcua): permit bounded investigative profiling without a full soak claim --- .../Sdk2LifecycleSoakTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2LifecycleSoakTests.cs b/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2LifecycleSoakTests.cs index 53fd05c9..e3fc36e3 100644 --- a/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2LifecycleSoakTests.cs +++ b/tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests/Sdk2LifecycleSoakTests.cs @@ -42,10 +42,11 @@ public sealed class Sdk2LifecycleSoakTests public async Task Repeated_lifecycles_return_resources_to_a_steady_baseline() { var mode = Environment.GetEnvironmentVariable("OTOPCUA_SDK2_SOAK_MODE"); - (mode is "diagnostic" or "full").ShouldBeTrue("explicit diagnostic or full mode is required"); + (mode is "diagnostic" or "profile" or "full").ShouldBeTrue("explicit diagnostic, profile or full mode is required"); var seconds = int.Parse(Environment.GetEnvironmentVariable("OTOPCUA_SDK2_SOAK_SECONDS") ?? (mode == "full" ? "7200" : "90"), CultureInfo.InvariantCulture); if (mode == "full") seconds.ShouldBeGreaterThanOrEqualTo(7200); + else if (mode == "profile") seconds.ShouldBeInRange(60, 1800); // Investigative only; never satisfies the full-duration flag. else seconds.ShouldBeInRange(60, 120); var output = Environment.GetEnvironmentVariable("OTOPCUA_SDK2_SOAK_OUTPUT") ?? throw new InvalidOperationException("An absolute, fresh OTOPCUA_SDK2_SOAK_OUTPUT JSONL path is required.");