diff --git a/src/libraries/System.Net.NameResolution/tests/FunctionalTests/TelemetryTest.cs b/src/libraries/System.Net.NameResolution/tests/FunctionalTests/TelemetryTest.cs index 0a03229b6c1863..1bd8d41843c82a 100644 --- a/src/libraries/System.Net.NameResolution/tests/FunctionalTests/TelemetryTest.cs +++ b/src/libraries/System.Net.NameResolution/tests/FunctionalTests/TelemetryTest.cs @@ -164,11 +164,13 @@ public static void ResolutionsWaitingOnQueue_ResolutionStartCalledBeforeEnqueued using var listener = new TestEventListener("System.Net.NameResolution", EventLevel.Informational); listener.AddActivityTracking(); - TaskCompletionSource firstResolutionStart = new(); - TaskCompletionSource secondResolutionStop = new(); + TaskCompletionSource firstResolutionStart = new(TaskCreationOptions.RunContinuationsAsynchronously); + TaskCompletionSource secondResolutionStop = new(TaskCreationOptions.RunContinuationsAsynchronously); List<(string EventName, Guid ActivityId)> events = new(); + bool? callbackWaitTimedOut = null; + await listener.RunWithCallbackAsync(e => { if (e.EventName == "ResolutionStart" || e.EventName == "ResolutionStop") @@ -178,7 +180,7 @@ await listener.RunWithCallbackAsync(e => if (e.EventName == "ResolutionStart" && firstResolutionStart.TrySetResult()) { - secondResolutionStop.Task.Wait(); + callbackWaitTimedOut = !secondResolutionStop.Task.Wait(TimeSpan.FromSeconds(15)); } }, async () => @@ -219,6 +221,8 @@ static Task DoResolutionAsync() Assert.Equal(events[0].ActivityId, events[3].ActivityId); Assert.Equal(events[1].ActivityId, events[2].ActivityId); Assert.NotEqual(events[0].ActivityId, events[1].ActivityId); + + Assert.False(callbackWaitTimedOut); }).Dispose(); } }