From 981304c284dcbb92c89358c268d0dff31762470d Mon Sep 17 00:00:00 2001 From: Kyle Keirstead Date: Wed, 1 Apr 2026 15:10:06 -0700 Subject: [PATCH] Making diagnostic port tests more resilient (copy from net8x) --- .../DiagnosticPortTests.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/DiagnosticPortTests.cs b/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/DiagnosticPortTests.cs index 0fb49cb8572..0f8cf2ab58b 100644 --- a/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/DiagnosticPortTests.cs +++ b/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/DiagnosticPortTests.cs @@ -8,6 +8,7 @@ using Microsoft.Diagnostics.Monitoring.WebApi; using System; using System.IO; +using System.Threading; using System.Threading.Tasks; using Xunit; using Xunit.Abstractions; @@ -82,7 +83,7 @@ public async Task DefaultDiagnosticPort_Supported_ListenModeOnNonWindows() await Task.Delay(TimeSpan.FromSeconds(10)); // Allow some time for the socket to be created. - AssertDefaultDiagnosticPortExists(defaultSharedTempDir); + await AssertDefaultDiagnosticPortExistsAsync(defaultSharedTempDir); } /// @@ -109,10 +110,16 @@ private static string GetDefaultSharedSocketPath(string defaultSharedPath) return Path.Combine(defaultSharedPath, ToolIdentifiers.DefaultSocketName); } - private static void AssertDefaultDiagnosticPortExists(TemporaryDirectory dir) + private static async Task AssertDefaultDiagnosticPortExistsAsync(TemporaryDirectory dir) { string diagnosticPort = GetDefaultSharedSocketPath(dir.FullName); - Assert.True(File.Exists(diagnosticPort), $"Expected socket to exist at '{diagnosticPort}'."); + + using CancellationTokenSource cancellationSource = new CancellationTokenSource(CommonTestTimeouts.GeneralTimeout); + + while (!File.Exists(diagnosticPort)) + { + await Task.Delay(TimeSpan.FromMilliseconds(50), cancellationSource.Token); + } } private static void AssertDefaultDiagnosticPortNotExists(TemporaryDirectory dir)