dotnet / dotnet/aspnetcore

Quarantine flaky IIS Express RequestResponseTests class (36 methods) due to connection failures

Open Beginner friendly
#68,271 1 comment 0 reactions 0 assignees View on GitHub
area-networking test-failure
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.