From cb551b0b7d92add5a01080728e04721c0423b9ad Mon Sep 17 00:00:00 2001 From: TalAloni Date: Tue, 14 Apr 2020 14:20:49 +0300 Subject: [PATCH 1/2] Update HttpClientMiniStressTest.cs Currently, it's possible for 4 different instances of SingleClient_ManyGets_Sync to run in parallel, each using up to 2 x 5000 sockets, totaling in 40,000 sockets. way beyond the original intent of testing 5000 client instances. since this additional stress is random in nature, I believe it is not intentional. This change make sure that those tests will not run in parallel, this avoids some issues I've encountered in some systems. --- .../tests/FunctionalTests/HttpClientMiniStressTest.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs index 2f28f98ab16b2..a4245e7eca540 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs @@ -16,6 +16,7 @@ namespace System.Net.Http.Functional.Tests { + [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_NoVersion : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_NoVersion(ITestOutputHelper output) : base(output) { } @@ -31,6 +32,7 @@ public void CreateAndDestroyManyClients(int numClients) } } + [Collection("MiniStress")] [ConditionalClass(typeof(QuicConnection), nameof(QuicConnection.IsQuicSupported))] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http3 : HttpClientMiniStress { @@ -38,12 +40,14 @@ public SocketsHttpHandler_HttpClientMiniStress_Http3(ITestOutputHelper output) : protected override Version UseVersion => HttpVersion.Version30; } + [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http2 : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_Http2(ITestOutputHelper output) : base(output) { } protected override Version UseVersion => HttpVersion.Version20; } + [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http11 : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_Http11(ITestOutputHelper output) : base(output) { } From 1390ce59cb150566ccb795ec3f627b6c0cb4ec55 Mon Sep 17 00:00:00 2001 From: TalAloni Date: Tue, 14 Apr 2020 15:15:31 +0300 Subject: [PATCH 2/2] HttpClientMiniStressTest: Disable Parallelism: Used CollectionAttribute on the base class --- .../tests/FunctionalTests/HttpClientMiniStressTest.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs index a4245e7eca540..f0c388cd2f1a9 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientMiniStressTest.cs @@ -16,7 +16,6 @@ namespace System.Net.Http.Functional.Tests { - [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_NoVersion : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_NoVersion(ITestOutputHelper output) : base(output) { } @@ -32,7 +31,6 @@ public void CreateAndDestroyManyClients(int numClients) } } - [Collection("MiniStress")] [ConditionalClass(typeof(QuicConnection), nameof(QuicConnection.IsQuicSupported))] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http3 : HttpClientMiniStress { @@ -40,14 +38,12 @@ public SocketsHttpHandler_HttpClientMiniStress_Http3(ITestOutputHelper output) : protected override Version UseVersion => HttpVersion.Version30; } - [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http2 : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_Http2(ITestOutputHelper output) : base(output) { } protected override Version UseVersion => HttpVersion.Version20; } - [Collection("MiniStress")] public sealed class SocketsHttpHandler_HttpClientMiniStress_Http11 : HttpClientMiniStress { public SocketsHttpHandler_HttpClientMiniStress_Http11(ITestOutputHelper output) : base(output) { } @@ -90,6 +86,7 @@ await server.AcceptConnectionAsync(async connection => } } + [Collection(nameof(HttpClientMiniStress))] public abstract class HttpClientMiniStress : HttpClientHandlerTestBase { public HttpClientMiniStress(ITestOutputHelper output) : base(output) { }