Quarantine flaky IIS Express RequestResponseTests class (36 methods) due to connection failures
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 281
Description
## Summary
The entire `Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestResponseTests` test class (36 test methods) has been failing intermittently across the last week of CI runs, with 71 total combined failures across those methods (2 failures each), all sharing the same 1-2 builds (1509884, 1539512) and Helix job/assembly (`microsoft.aspnetcore.server.iis.functionaltests.dll`).
The failures share a small set of infrastructure-level connection errors, not test-logic bugs:
- `System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it. 127.0.0.1:57839`
- `System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (localhost:57839)`
- `System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.`
- `System.Net.Http.HttpRequestException: Error while copying content to a stream.`
This pattern (same builds, same fixture `IISTestSiteFixture.CreateTestConnection()`, many otherwise-unrelated test methods all failing with connection refused/reset errors) indicates a shared IIS Express test-site fixture/connection flakiness issue rather than 36 independent test bugs.
## Details
- None of the affected tests have `is_consistent_regression = true` in the failure data (i.e., these are not confirmed regressions, they are flaky).
- No existing `[QuarantinedTest]` attribute exists on this class or any of its methods.
- No open PR currently touches this file.
- Class-level quarantine rule applies per the "Class-level quarantine" guidance for many methods in one class sharing the same root cause.
## Affected methods (36, each ~2 failures in the analyzed window)
GetServerVariableDoesNotCrash, ResponseBodyTest_CompleteAsyncWorks, ServerHeaderIsOverriden, ProvidesAccessToServerVariables, TransferEncodingNotSetForStatusCodes, TestInvalidWriteOperations, SendTransferEncodingHeadersWithMultipleValues, TestValidReadOperations, AddResponseHeaders_HeaderValuesAreSetCorrectly, ReadAndWriteSlowConnection, BasePathIsNotPrefixedBySlashSlashQuestionMark, Request_WithEscapedNavigation_Removed, AsyncChunkedPostIsAccepted, TestValidReadOperationsPost, FeatureCollectionTest_SetHttpContextFeatures, ReadAndWriteEchoTwice, ReadAndWriteInterleaved, Request_WithNavigation_Removed, PassesThroughCompressionOutOfProcess, ReturnsNullForUndefinedServerVariable, ResponseInvalidOrderingTests_ExpectFailure, ServerWorksAfterClientDisconnect, TestStringValuesEmptyForMissingHeaders, AddEmptyHeaderSkipped, PassesThroughCompressionInProcess, Request_WithDoubleSlashes_LeftAlone, RequestAbortedTokenFires, RequestPath_UrlUnescaping, ReadSetHeaderWrite, ConsumePartialBody, CanSetAndReadVariable, TestValidWriteOperationsPost, TestValidWriteOperations, ErrorCodeIsSetForExceptionDuringRequest, and 2 additional methods with names not resolvable from the aggregated data.
## Recommendation
Quarantine the whole `RequestResponseTests` class with `[QuarantinedTest]` at the class level while the shared IIS Express fixture connection issue is investigated, rather than adding 36 individual attributes.
> Generated by [Daily Test Quarantine Management](https://github.com/dotnet/aspnetcore/actions/runs/31169692651) · auto · 186.7 AIC · ⌖ 4.33 AIC · ⊞ 4.2K · [◷](https://github.com/search?q=repo%3Adotnet%2Faspnetcore+is%3Aissue+%22gh-aw-workflow-call-id%3A+dotnet%2Faspnetcore%2Ftest-quarantine%22&type=issues)
Contributor guide
Research direction
Locate the Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestResponseTests class and review the existing QuarantinedTest usage and class-level quarantine guidance. Apply the quarantine at class scope for the shared IIS Express connection failures, then verify that no individual method attributes are needed and inspect the affected test results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100