diff --git a/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpMockProvider.cs b/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpMockProvider.cs index a9150df371b..68d758df26b 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpMockProvider.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpMockProvider.cs @@ -40,7 +40,7 @@ public static Mock GetLatencyContext() return lc; } - public class MockEventSource : EventSource + public class MockEventSource() : EventSource(throwOnEventWriteErrors: true) { public int OnEventInvoked; diff --git a/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpRequestLatencyListenerTest.cs b/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpRequestLatencyListenerTest.cs index 6b384eae928..3f66b7ea506 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpRequestLatencyListenerTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Diagnostics.Tests/Latency/Internal/HttpRequestLatencyListenerTest.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Diagnostics.Tracing; using System.Linq; using Microsoft.Extensions.Diagnostics.Latency; using Microsoft.Extensions.Http.Latency.Internal; @@ -84,8 +85,16 @@ public void HttpRequestLatencyListener_OnEventSourceCreated_NonHttpSources() listener.OnEventSourceCreated("test", es); Assert.Equal(0, es.OnEventInvoked); Assert.False(es.IsEnabled()); + + using var dummyListener = new DummyListener(); + dummyListener.EnableEvents(es, EventLevel.LogAlways); + + // EventSource seems to send the event to all listeners, even those that didn't enable the EventSource at all! + es.Write("Dummy"); } + private sealed class DummyListener : EventListener; + [Fact] public void HttpRequestLatencyListener_OnEventSourceCreated_HttpSources() {