From c1cf0f02b6fd11462b8b80bb791188e7e3f80cbf Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Tue, 31 Oct 2023 22:21:20 +0100 Subject: [PATCH 1/6] Linux Kernel Regression Socket Test Failures Disable --- .../System.Net.Sockets/tests/FunctionalTests/Connect.cs | 6 ++++++ .../tests/FunctionalTests/TelemetryTest.cs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index 7fbb92a2717428..7a063557049efb 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -137,6 +137,12 @@ public async Task Connect_AfterDisconnect_Fails() [InlineData("[::ffff:1.1.1.1]", true, false)] public async Task ConnectGetsCanceledByDispose(string addressString, bool useDns, bool owning) { + if (UsesSync && PlatformDetection.IsLinux) + { + // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] + return; + } + // Aborting sync operations for non-owning handles is not supported on Unix. if (!owning && UsesSync && !PlatformDetection.IsWindows) { diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs index 851b68288fd866..5019943e8ad5e5 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs @@ -193,6 +193,12 @@ await listener.RunWithCallbackAsync(e => events.Enqueue((e, e.ActivityId)), asyn [MemberData(nameof(SocketMethods_WithBools_MemberData))] public void EventSource_SocketConnectFailure_LogsConnectFailed(string connectMethod, bool useDnsEndPoint) { + if (connectMethod == "Sync" && PlatformDetection.IsLinux) + { + // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] + return; + } + RemoteExecutor.Invoke(async (connectMethod, useDnsEndPointString) => { EndPoint endPoint = await GetRemoteEndPointAsync(useDnsEndPointString, port: 12345); From be42d538fa2a1f2eabec1d758db4d4565d728725 Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Wed, 1 Nov 2023 14:04:51 +0100 Subject: [PATCH 2/6] Fix formatting --- .../System.Net.Sockets/tests/FunctionalTests/Connect.cs | 2 +- .../System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index 7a063557049efb..7c8afc925f7388 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -142,7 +142,7 @@ public async Task ConnectGetsCanceledByDispose(string addressString, bool useDns // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } - + // Aborting sync operations for non-owning handles is not supported on Unix. if (!owning && UsesSync && !PlatformDetection.IsWindows) { diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs index 5019943e8ad5e5..0f342572c6c6bf 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs @@ -198,7 +198,7 @@ public void EventSource_SocketConnectFailure_LogsConnectFailed(string connectMet // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } - + RemoteExecutor.Invoke(async (connectMethod, useDnsEndPointString) => { EndPoint endPoint = await GetRemoteEndPointAsync(useDnsEndPointString, port: 12345); From c64b1a7f9ea18ba0dd60836a3a486798f9c7bae4 Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Fri, 3 Nov 2023 19:12:23 +0100 Subject: [PATCH 3/6] Delete spaces --- .../System.Net.Sockets/tests/FunctionalTests/Connect.cs | 1 - .../System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index 7c8afc925f7388..f200db4c13f0b9 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -142,7 +142,6 @@ public async Task ConnectGetsCanceledByDispose(string addressString, bool useDns // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } - // Aborting sync operations for non-owning handles is not supported on Unix. if (!owning && UsesSync && !PlatformDetection.IsWindows) { diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs index 0f342572c6c6bf..ebeecfce776386 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs @@ -198,7 +198,6 @@ public void EventSource_SocketConnectFailure_LogsConnectFailed(string connectMet // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } - RemoteExecutor.Invoke(async (connectMethod, useDnsEndPointString) => { EndPoint endPoint = await GetRemoteEndPointAsync(useDnsEndPointString, port: 12345); From 6ee1383a1d300668654d26cdb085b21f8f70f722 Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Mon, 6 Nov 2023 15:38:15 +0100 Subject: [PATCH 4/6] Format Connect.cs --- .../tests/FunctionalTests/Connect.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index f200db4c13f0b9..5399f4aa31d337 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -14,7 +14,7 @@ namespace System.Net.Sockets.Tests { public abstract class Connect : SocketTestHelperBase where T : SocketHelperBase, new() { - public Connect(ITestOutputHelper output) : base(output) {} + public Connect(ITestOutputHelper output) : base(output) { } [OuterLoop] [Theory] @@ -241,27 +241,27 @@ public async Task Connect_DatagramSockets_DontThrowConnectedException_OnSecondAt public sealed class ConnectSync : Connect { - public ConnectSync(ITestOutputHelper output) : base(output) {} + public ConnectSync(ITestOutputHelper output) : base(output) { } } public sealed class ConnectSyncForceNonBlocking : Connect { - public ConnectSyncForceNonBlocking(ITestOutputHelper output) : base(output) {} + public ConnectSyncForceNonBlocking(ITestOutputHelper output) : base(output) { } } public sealed class ConnectApm : Connect { - public ConnectApm(ITestOutputHelper output) : base(output) {} + public ConnectApm(ITestOutputHelper output) : base(output) { } } public sealed class ConnectTask : Connect { - public ConnectTask(ITestOutputHelper output) : base(output) {} + public ConnectTask(ITestOutputHelper output) : base(output) { } } public sealed class ConnectEap : Connect { - public ConnectEap(ITestOutputHelper output) : base(output) {} + public ConnectEap(ITestOutputHelper output) : base(output) { } [Theory] [PlatformSpecific(TestPlatforms.Windows)] @@ -288,7 +288,7 @@ public async Task ConnectAsync_WithData_DataReceived(bool useArrayApi) using var client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); byte[] buffer = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 }; - + var mre = new ManualResetEventSlim(false); var saea = new SocketAsyncEventArgs(); saea.RemoteEndPoint = serverEp; @@ -302,7 +302,7 @@ public async Task ConnectAsync_WithData_DataReceived(bool useArrayApi) { saea.SetBuffer(buffer.AsMemory(2, 4)); } - + saea.Completed += (_, __) => mre.Set(); if (client.ConnectAsync(saea)) From 73f64a85ee553f9d5709e197ca4f1a6381d4bbb7 Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Mon, 6 Nov 2023 17:25:06 +0100 Subject: [PATCH 5/6] Revert "Format Connect.cs" This reverts commit 6ee1383a1d300668654d26cdb085b21f8f70f722. --- .../tests/FunctionalTests/Connect.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index 5399f4aa31d337..f200db4c13f0b9 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -14,7 +14,7 @@ namespace System.Net.Sockets.Tests { public abstract class Connect : SocketTestHelperBase where T : SocketHelperBase, new() { - public Connect(ITestOutputHelper output) : base(output) { } + public Connect(ITestOutputHelper output) : base(output) {} [OuterLoop] [Theory] @@ -241,27 +241,27 @@ public async Task Connect_DatagramSockets_DontThrowConnectedException_OnSecondAt public sealed class ConnectSync : Connect { - public ConnectSync(ITestOutputHelper output) : base(output) { } + public ConnectSync(ITestOutputHelper output) : base(output) {} } public sealed class ConnectSyncForceNonBlocking : Connect { - public ConnectSyncForceNonBlocking(ITestOutputHelper output) : base(output) { } + public ConnectSyncForceNonBlocking(ITestOutputHelper output) : base(output) {} } public sealed class ConnectApm : Connect { - public ConnectApm(ITestOutputHelper output) : base(output) { } + public ConnectApm(ITestOutputHelper output) : base(output) {} } public sealed class ConnectTask : Connect { - public ConnectTask(ITestOutputHelper output) : base(output) { } + public ConnectTask(ITestOutputHelper output) : base(output) {} } public sealed class ConnectEap : Connect { - public ConnectEap(ITestOutputHelper output) : base(output) { } + public ConnectEap(ITestOutputHelper output) : base(output) {} [Theory] [PlatformSpecific(TestPlatforms.Windows)] @@ -288,7 +288,7 @@ public async Task ConnectAsync_WithData_DataReceived(bool useArrayApi) using var client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); byte[] buffer = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 }; - + var mre = new ManualResetEventSlim(false); var saea = new SocketAsyncEventArgs(); saea.RemoteEndPoint = serverEp; @@ -302,7 +302,7 @@ public async Task ConnectAsync_WithData_DataReceived(bool useArrayApi) { saea.SetBuffer(buffer.AsMemory(2, 4)); } - + saea.Completed += (_, __) => mre.Set(); if (client.ConnectAsync(saea)) From f6d03361183afc14c6f6e20c079fe6f36183312d Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Mon, 6 Nov 2023 17:25:40 +0100 Subject: [PATCH 6/6] Add spaces again --- .../System.Net.Sockets/tests/FunctionalTests/Connect.cs | 1 + .../System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs index f200db4c13f0b9..7c8afc925f7388 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/Connect.cs @@ -142,6 +142,7 @@ public async Task ConnectGetsCanceledByDispose(string addressString, bool useDns // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } + // Aborting sync operations for non-owning handles is not supported on Unix. if (!owning && UsesSync && !PlatformDetection.IsWindows) { diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs index ebeecfce776386..0f342572c6c6bf 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/TelemetryTest.cs @@ -198,6 +198,7 @@ public void EventSource_SocketConnectFailure_LogsConnectFailed(string connectMet // [ActiveIssue("https://github.com/dotnet/runtime/issues/94149", TestPlatforms.Linux)] return; } + RemoteExecutor.Invoke(async (connectMethod, useDnsEndPointString) => { EndPoint endPoint = await GetRemoteEndPointAsync(useDnsEndPointString, port: 12345);