Repository navigation
Conversation
Replace the delayed-response deadline test with hung-read coverage for clients that honour or ignore cancellation, under strict and best-effort policies. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://github.com/raw/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 2298Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 2298" |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The focused test changes preserve timeout-policy coverage while removing the response-timer race, with no blocking issues identified.
No open issues 🎉
What changed in this PR
This test-only change stabilizes Kind CRD timeout coverage on Windows by replacing a timing-sensitive response test with a controlled pending request. Production behavior and public APIs remain unchanged.
Changes:
- Removes the flaky test that races a delayed response against cancellation.
- Covers clients that honor or ignore cancellation under strict and best-effort policies.
- Releases the pending fake request in
finallyfor cleanup.
| File | Description |
|---|---|
| tests/CommunityToolkit.Aspire.Hosting.Kind.Tests/KindManifestTests.cs | Replaces timing-sensitive coverage with four hung-request timeout cases and explicit cleanup. |
Review effort: Balanced
afscrome
enabled auto-merge (squash)
October 24, 2026 21:48
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked issue: N/A — reported through the failing CI runs below.
Remove
ManifestPostApplyCheck_RejectsEstablishedResponseAfterDeadline, which races a one-second cancellation timer against a fake Kubernetes response delayed by 1.25 seconds. On Windows, the response can complete before the delayed cancellation callback runs, causing an intermittent failure.Extend the existing hung-request timeout theory to cover clients that both honour and ignore cancellation, under strict and best-effort policies. The fake read stays pending throughout the assertion and is released in
finallyfor cleanup. This retains timeout coverage without racing two timers. No production behaviour or public APIs change.PR Checklist
Other information
Observed Windows failures (the corresponding Linux jobs passed):
Validation on Windows:
dotnet run --project tests\CommunityToolkit.Aspire.Hosting.Kind.Tests\CommunityToolkit.Aspire.Hosting.Kind.Tests.csproj --configuration Release -- --filter-class '*KindManifestTests'— passed, 106 tests. Build emitted transient executable-copy retry warnings, then completed successfully.git diff --check— passed.A full-suite investigation before this change was stopped after a TypeScript AppHost test failed because Helm was missing locally; it did not complete. Unchecked new-integration/API-documentation items are not applicable. Latest-main freshness has not been verified.