From 3627b9b9114c592b705b1d30a9d7161fb631ea5d Mon Sep 17 00:00:00 2001 From: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com> Date: Mon, 30 Mar 2026 11:51:21 +0100 Subject: [PATCH] .NET: Skip flaky integration tests blocking merge queue (#4972) * Skip flaky integration tests blocking merge queue Skip 7 timing-dependent integration tests that are causing a 73% failure rate in the merge queue over the past 3 days. All failures are LLM-latency/timeout related and occur across unrelated PRs. Skipped tests: - ConsoleAppSamplesValidation.ReliableStreamingSampleValidationAsync - ConsoleAppSamplesValidation.SingleAgentOrchestrationHITLSampleValidationAsync - ConsoleAppSamplesValidation.LongRunningToolsSampleValidationAsync - SamplesValidation.LongRunningToolsSampleValidationAsync (AzureFunctions) - SamplesValidation.ReliableStreamingSampleValidationAsync (AzureFunctions) - ExternalClientTests.CallFunctionToolsAsync - ExternalClientTests.CallLongRunningFunctionToolsAsync Tracking issue: https://github.com/microsoft/agent-framework/issues/4971 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Extract skip reason to const per review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../ConsoleAppSamplesValidation.cs | 8 +++++--- .../ExternalClientTests.cs | 6 ++++-- .../SamplesValidation.cs | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ConsoleAppSamplesValidation.cs b/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ConsoleAppSamplesValidation.cs index c15405db63..7b8fa3a8f9 100644 --- a/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ConsoleAppSamplesValidation.cs +++ b/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ConsoleAppSamplesValidation.cs @@ -13,6 +13,8 @@ namespace Microsoft.Agents.AI.DurableTask.IntegrationTests; [Trait("Category", "SampleValidation")] public sealed class ConsoleAppSamplesValidation(ITestOutputHelper outputHelper) : SamplesValidationBase(outputHelper) { + private const string SkipFlakyTimingTest = "Flaky: timing-dependent LLM test, see https://github.com/microsoft/agent-framework/issues/4971"; + private static readonly string s_samplesPath = Path.GetFullPath( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "..", "..", "..", "..", "samples", "04-hosting", "DurableAgents", "ConsoleApps")); @@ -235,7 +237,7 @@ public sealed class ConsoleAppSamplesValidation(ITestOutputHelper outputHelper) Assert.True(foundSuccess, "Orchestration did not complete successfully."); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task SingleAgentOrchestrationHITLSampleValidationAsync() { string samplePath = Path.Combine(s_samplesPath, "05_AgentOrchestration_HITL"); @@ -309,7 +311,7 @@ public sealed class ConsoleAppSamplesValidation(ITestOutputHelper outputHelper) }); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task LongRunningToolsSampleValidationAsync() { string samplePath = Path.Combine(s_samplesPath, "06_LongRunningTools"); @@ -394,7 +396,7 @@ public sealed class ConsoleAppSamplesValidation(ITestOutputHelper outputHelper) }); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task ReliableStreamingSampleValidationAsync() { string samplePath = Path.Combine(s_samplesPath, "07_ReliableStreaming"); diff --git a/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ExternalClientTests.cs b/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ExternalClientTests.cs index 6c200e9876..134a12e688 100644 --- a/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ExternalClientTests.cs +++ b/dotnet/tests/Microsoft.Agents.AI.DurableTask.IntegrationTests/ExternalClientTests.cs @@ -19,6 +19,8 @@ namespace Microsoft.Agents.AI.DurableTask.IntegrationTests; [Trait("Category", "Integration")] public sealed class ExternalClientTests(ITestOutputHelper outputHelper) : IDisposable { + private const string SkipFlakyTimingTest = "Flaky: timing-dependent LLM test, see https://github.com/microsoft/agent-framework/issues/4971"; + private static readonly TimeSpan s_defaultTimeout = Debugger.IsAttached ? TimeSpan.FromMinutes(5) : TimeSpan.FromSeconds(60); @@ -75,7 +77,7 @@ public sealed class ExternalClientTests(ITestOutputHelper outputHelper) : IDispo Assert.Contains(agentLogs, log => log.EventId.Name == "LogAgentResponse"); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task CallFunctionToolsAsync() { int weatherToolInvocationCount = 0; @@ -127,7 +129,7 @@ public sealed class ExternalClientTests(ITestOutputHelper outputHelper) : IDispo Assert.Equal(1, packingListToolInvocationCount); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task CallLongRunningFunctionToolsAsync() { [Description("Starts a greeting workflow and returns the workflow instance ID")] diff --git a/dotnet/tests/Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests/SamplesValidation.cs b/dotnet/tests/Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests/SamplesValidation.cs index ffd2e39ae2..078b6af790 100644 --- a/dotnet/tests/Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests/SamplesValidation.cs +++ b/dotnet/tests/Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests/SamplesValidation.cs @@ -15,6 +15,8 @@ namespace Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests; [Trait("Category", "SampleValidation")] public sealed class SamplesValidation(ITestOutputHelper outputHelper) : IAsyncLifetime { + private const string SkipFlakyTimingTest = "Flaky: timing-dependent LLM test, see https://github.com/microsoft/agent-framework/issues/4971"; + private const string AzureFunctionsPort = "7071"; private const string AzuritePort = "10000"; private const string DtsPort = "8080"; @@ -272,7 +274,7 @@ public sealed class SamplesValidation(ITestOutputHelper outputHelper) : IAsyncLi }); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task LongRunningToolsSampleValidationAsync() { string samplePath = Path.Combine(s_samplesPath, "06_LongRunningTools"); @@ -402,7 +404,7 @@ public sealed class SamplesValidation(ITestOutputHelper outputHelper) : IAsyncLi }); } - [Fact] + [Fact(Skip = SkipFlakyTimingTest)] public async Task ReliableStreamingSampleValidationAsync() { string samplePath = Path.Combine(s_samplesPath, "08_ReliableStreaming");