You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
System.Net.Http.Functional.Tests.SocketsHttpHandler_ResponseStreamTest.BrowserHttpHandler_StreamingRequest_Http1Fails (source: src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs) fails on Browser + CoreCLR (wasm) but passes on Browser + Mono (wasm).
The test sends a streaming (WebAssemblyEnableStreamingRequest) POST over HTTP/1 and expects the browser fetch to reject it quickly:
HttpRequestExceptionex=awaitAssert.ThrowsAsync<HttpRequestException>(()=>client.SendAsync(req));Assert.Equal("TypeError: Failed to fetch",ex.Message);
On CoreCLR-wasm the request instead hangs and is canceled by the 100s HttpClient.Timeout:
Assert.Throws() Failure: Exception type was not an exact match
Expected: typeof(System.Net.Http.HttpRequestException)
Actual: typeof(System.Threading.Tasks.TaskCanceledException)
---- System.Threading.Tasks.TaskCanceledException : The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
-------- System.TimeoutException : The operation was canceled.
------------ System.Threading.Tasks.TaskCanceledException : The operation was canceled.
---------------- System.Runtime.InteropServices.JavaScript.JSException : Error: OperationCanceledException
at System.Net.Http.BrowserHttpInterop.CancellationHelper(Task promise, CancellationToken cancellationToken, JSObject jsController)
This indicates the streaming-request-over-HTTP/1 rejection path that produces TypeError: Failed to fetch is not being hit on CoreCLR-wasm (the request appears to proceed instead of failing fast).
How it was found
Discovered while bringing up the new scheduled Browser + CoreCLR outerloop libraries-test lane (#129436). This [OuterLoop] browser test had never run in CI before (Mono runs innerloop only).
Workaround
The test is being gated to skip on CoreCLR-wasm only, keeping Mono-wasm coverage:
(The test is already [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser))], so the ActiveIssue only takes effect on Browser + CoreCLR.)
Note
This issue was created by GitHub Copilot on behalf of the user.
Description
System.Net.Http.Functional.Tests.SocketsHttpHandler_ResponseStreamTest.BrowserHttpHandler_StreamingRequest_Http1Fails(source:src/libraries/Common/tests/System/Net/Http/ResponseStreamTest.cs) fails on Browser + CoreCLR (wasm) but passes on Browser + Mono (wasm).The test sends a streaming (
WebAssemblyEnableStreamingRequest) POST over HTTP/1 and expects the browserfetchto reject it quickly:On CoreCLR-wasm the request instead hangs and is canceled by the 100s
HttpClient.Timeout:This indicates the streaming-request-over-HTTP/1 rejection path that produces
TypeError: Failed to fetchis not being hit on CoreCLR-wasm (the request appears to proceed instead of failing fast).How it was found
Discovered while bringing up the new scheduled Browser + CoreCLR outerloop libraries-test lane (#129436). This
[OuterLoop]browser test had never run in CI before (Mono runs innerloop only).Workaround
The test is being gated to skip on CoreCLR-wasm only, keeping Mono-wasm coverage:
(The test is already
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser))], so theActiveIssueonly takes effect on Browser + CoreCLR.)Note
This issue was created by GitHub Copilot on behalf of the user.