From b4d4e35f9773f14c4db477cfc6377f677df5a570 Mon Sep 17 00:00:00 2001 From: Radek Zikmund Date: Fri, 1 Apr 2022 09:12:56 +0200 Subject: [PATCH 1/2] Reenable SocketsHttpHandlerTest_Http3_MsQuic.SendMoreThanStreamLimitRequestsConcurrently_LastWaits test --- .../HttpClientHandlerTest.Http3.cs | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs index b458e711de20ed..1dc8da5b7a3f2c 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs @@ -86,7 +86,7 @@ public async Task ClientSettingsReceived_Success(int headerSizeLimit) [InlineData(1000)] public async Task SendMoreThanStreamLimitRequests_Succeeds(int streamLimit) { - using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options(){ MaxBidirectionalStreams = streamLimit }); + using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options() { MaxBidirectionalStreams = streamLimit }); Task serverTask = Task.Run(async () => { @@ -125,7 +125,7 @@ public async Task SendMoreThanStreamLimitRequests_Succeeds(int streamLimit) [InlineData(1000)] public async Task SendStreamLimitRequestsConcurrently_Succeeds(int streamLimit) { - using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options(){ MaxBidirectionalStreams = streamLimit }); + using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options() { MaxBidirectionalStreams = streamLimit }); Task serverTask = Task.Run(async () => { @@ -169,7 +169,6 @@ public async Task SendStreamLimitRequestsConcurrently_Succeeds(int streamLimit) [InlineData(10)] [InlineData(100)] [InlineData(1000)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/55901")] public async Task SendMoreThanStreamLimitRequestsConcurrently_LastWaits(int streamLimit) { // This combination leads to a hang manifesting in CI only. Disabling it until there's more time to investigate. @@ -179,7 +178,7 @@ public async Task SendMoreThanStreamLimitRequestsConcurrently_LastWaits(int stre return; } - using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options(){ MaxBidirectionalStreams = streamLimit }); + using Http3LoopbackServer server = CreateHttp3LoopbackServer(new Http3Options() { MaxBidirectionalStreams = streamLimit }); var lastRequestContentStarted = new TaskCompletionSource(); Task serverTask = Task.Run(async () => @@ -195,7 +194,8 @@ public async Task SendMoreThanStreamLimitRequestsConcurrently_LastWaits(int stre } // Make the last request running independently. - var lastRequest = Task.Run(async () => { + var lastRequest = Task.Run(async () => + { using Http3LoopbackStream stream = await connection.AcceptRequestStreamAsync(); await stream.HandleRequestAsync(); }); @@ -416,7 +416,7 @@ public async Task RequestSendingResponseDisposed_ThrowsOnServer() RequestUri = server.Address, Version = HttpVersion30, VersionPolicy = HttpVersionPolicy.RequestVersionExact, - Content = new ByteAtATimeContent(60*4, Task.CompletedTask, new TaskCompletionSource(), 250) + Content = new ByteAtATimeContent(60 * 4, Task.CompletedTask, new TaskCompletionSource(), 250) }; var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); @@ -723,12 +723,12 @@ public async Task ResponseCancellation_ServerReceivesCancellation(CancellationTy using HttpClient client = CreateHttpClient(); using HttpRequestMessage request = new() - { - Method = HttpMethod.Get, - RequestUri = server.Address, - Version = HttpVersion30, - VersionPolicy = HttpVersionPolicy.RequestVersionExact - }; + { + Method = HttpMethod.Get, + RequestUri = server.Address, + Version = HttpVersion30, + VersionPolicy = HttpVersionPolicy.RequestVersionExact + }; HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).WaitAsync(TimeSpan.FromSeconds(10)); Stream stream = await response.Content.ReadAsStreamAsync(); @@ -785,7 +785,7 @@ public async Task ResponseCancellation_BothCancellationTokenAndDispose_Success() HttpRequestData request = await stream.ReadRequestDataAsync().ConfigureAwait(false); - int contentLength = 2*1024*1024; + int contentLength = 2 * 1024 * 1024; var headers = new List(); headers.Append(new HttpHeaderData("Content-Length", contentLength.ToString(CultureInfo.InvariantCulture))); @@ -810,12 +810,12 @@ public async Task ResponseCancellation_BothCancellationTokenAndDispose_Success() using HttpClient client = CreateHttpClient(); using HttpRequestMessage request = new() - { - Method = HttpMethod.Get, - RequestUri = server.Address, - Version = HttpVersion30, - VersionPolicy = HttpVersionPolicy.RequestVersionExact - }; + { + Method = HttpMethod.Get, + RequestUri = server.Address, + Version = HttpVersion30, + VersionPolicy = HttpVersionPolicy.RequestVersionExact + }; HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).WaitAsync(TimeSpan.FromSeconds(20)); Stream stream = await response.Content.ReadAsStreamAsync(); @@ -917,12 +917,12 @@ public async Task Alpn_NonH3_NegotiationFailure() using HttpClient client = CreateHttpClient(); using HttpRequestMessage request = new() - { - Method = HttpMethod.Get, - RequestUri = server.Address, - Version = HttpVersion30, - VersionPolicy = HttpVersionPolicy.RequestVersionExact - }; + { + Method = HttpMethod.Get, + RequestUri = server.Address, + Version = HttpVersion30, + VersionPolicy = HttpVersionPolicy.RequestVersionExact + }; HttpRequestException ex = await Assert.ThrowsAsync(() => client.SendAsync(request).WaitAsync(TimeSpan.FromSeconds(10))); Assert.Contains("ALPN_NEG_FAILURE", ex.Message); @@ -1057,7 +1057,7 @@ public async Task EchoServerStreaming_DifferentMessageSize_Success(int messageSi var responseTask = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).WaitAsync(TimeSpan.FromSeconds(10)); - Stream requestStream = await requestContent.GetStreamAsync().WaitAsync(TimeSpan.FromSeconds(10));; + Stream requestStream = await requestContent.GetStreamAsync().WaitAsync(TimeSpan.FromSeconds(10)); ; // Send headers await requestStream.FlushAsync(); From badd60b13e26547f27ceb37ad50bc7c01e649f54 Mon Sep 17 00:00:00 2001 From: Radek Zikmund <32671551+rzikm@users.noreply.github.com> Date: Tue, 3 May 2022 15:48:37 +0200 Subject: [PATCH 2/2] Update src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs Co-authored-by: Natalia Kondratyeva --- .../tests/FunctionalTests/HttpClientHandlerTest.Http3.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs index 1dc8da5b7a3f2c..8372e6c923bbbf 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs @@ -1057,7 +1057,7 @@ public async Task EchoServerStreaming_DifferentMessageSize_Success(int messageSi var responseTask = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).WaitAsync(TimeSpan.FromSeconds(10)); - Stream requestStream = await requestContent.GetStreamAsync().WaitAsync(TimeSpan.FromSeconds(10)); ; + Stream requestStream = await requestContent.GetStreamAsync().WaitAsync(TimeSpan.FromSeconds(10)); // Send headers await requestStream.FlushAsync();