From 8c697632461b460a67e421331f8d257e25e203d5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:17:43 +0000 Subject: [PATCH 1/2] Initial plan From 20815e6a67f1cd0c2aaf6146e106d9ec875d0271 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:22:49 +0000 Subject: [PATCH 2/2] Replace Task.WhenAny+Task.Delay with .WaitAsync(TimeSpan) Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com> --- dotnet/test/MultiClientTests.cs | 6 ++---- dotnet/test/SessionTests.cs | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/dotnet/test/MultiClientTests.cs b/dotnet/test/MultiClientTests.cs index 131fd31d..ba139337 100644 --- a/dotnet/test/MultiClientTests.cs +++ b/dotnet/test/MultiClientTests.cs @@ -134,11 +134,9 @@ public async Task Both_Clients_See_Tool_Request_And_Completion_Events() Assert.Contains("MAGIC_hello_42", response!.Data.Content ?? string.Empty); // Wait for all broadcast events to arrive on both clients - var timeout = Task.Delay(TimeSpan.FromSeconds(10)); - var allEvents = Task.WhenAll( + await Task.WhenAll( client1Requested.Task, client2Requested.Task, - client1Completed.Task, client2Completed.Task); - Assert.Equal(allEvents, await Task.WhenAny(allEvents, timeout)); + client1Completed.Task, client2Completed.Task).WaitAsync(TimeSpan.FromSeconds(10)); await session2.DisposeAsync(); diff --git a/dotnet/test/SessionTests.cs b/dotnet/test/SessionTests.cs index 80043958..5dcda707 100644 --- a/dotnet/test/SessionTests.cs +++ b/dotnet/test/SessionTests.cs @@ -272,8 +272,7 @@ public async Task Should_Receive_Session_Events() await session.SendAsync(new MessageOptions { Prompt = "What is 100+200?" }); // Wait for session to become idle (indicating message processing is complete) - var completed = await Task.WhenAny(idleReceived.Task, Task.Delay(TimeSpan.FromSeconds(60))); - Assert.Equal(idleReceived.Task, completed); + await idleReceived.Task.WaitAsync(TimeSpan.FromSeconds(60)); // Should have received multiple events (user message, assistant message, idle, etc.) Assert.NotEmpty(receivedEvents);