[release/10.0] Fix Blazor WASM template tests NU1603 with DevServer version pinning#65781
Merged
lewing merged 5 commits intorelease/10.0from Mar 16, 2026
Merged
[release/10.0] Fix Blazor WASM template tests NU1603 with DevServer version pinning#65781lewing merged 5 commits intorelease/10.0from
lewing merged 5 commits intorelease/10.0from
Conversation
Move tcs.TrySetResult() after StopConnectionAsync so the response handler stays blocked until the connection has stopped. This prevents response HEADERS from being written before the GOAWAY frame, which caused the test to intermittently fail with 'Expected: GOAWAY, Actual: HEADERS'. This is the same fix pattern applied in #65454 for the sibling AdditionalDataFrames and AdditionalTrailerFrames tests, and in #57450 for the AdditionalWindowUpdateFrame test. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wait for the request to be aborted before releasing the application delegate gate in RST_STREAM_IncompleteRequest_AdditionalResetFrame_IgnoreAdditionalReset. This preserves the test intent while avoiding both the HEADERS-vs-GOAWAY race and the shutdown timeout.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pin the DevServer package to the exact locally-built version in the template test infrastructure so that stable versions from darc feeds (which outrank prerelease versions in SemVer) don't cause NU1603. With TreatWarningsAsErrors enabled, NU1603 becomes fatal, breaking BlazorWasmStandaloneTemplate_Works and related tests whenever a VMR official build publishes a stable DevServer to a darc feed. The fix pipes MicrosoftAspNetCoreComponentsWebAssemblyDevServerVersion through PrepareForTest.targets into Directory.Build.props.in, which adds a PackageReference Update with an exact version range [x.y.z-ci]. This ensures the locally-built package is always used during tests. The shipped template continues using >= semantics for customers. Fixes #65701
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses Blazor WASM template test restore failures (NU1603) by pinning the WebAssembly DevServer package to the exact locally-built version during template test runs, preventing NuGet from preferring stable versions from darc feeds over prerelease -ci builds.
Changes:
- Pass
MicrosoftAspNetCoreComponentsWebAssemblyDevServerVersionthrough the template test file-generation pipeline. - Add a test-only
PackageReferenceversion pin forMicrosoft.AspNetCore.Components.WebAssembly.DevServerusing an exact version range.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/ProjectTemplates/TestInfrastructure/PrepareForTest.targets | Pipes the DevServer version into the Directory.Build.props.in template generation. |
| src/ProjectTemplates/TestInfrastructure/Directory.Build.props.in | Attempts to pin DevServer to an exact version range for template test restores. |
You can also share your feedback on Copilot code review. Take the survey.
src/ProjectTemplates/TestInfrastructure/Directory.Build.props.in
Outdated
Show resolved
Hide resolved
PackageReference Update in Directory.Build.props runs before the project file, so it cannot affect items declared in the project. Move to Directory.Build.targets.in which is imported after, and pipe the version variable to the targets template instead.
Member
Author
|
/backport to main |
Contributor
|
Started backporting to |
Contributor
|
@lewing backporting to git am output$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch
Applying: Fix race in RST_STREAM_IncompleteRequest_AdditionalResetFrame test
Using index info to reconstruct a base tree...
M src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
Falling back to patching base and 3-way merge...
Auto-merging src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
CONFLICT (content): Merge conflict in src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 Fix race in RST_STREAM_IncompleteRequest_AdditionalResetFrame test
Error: The process '/usr/bin/git' failed with exit code 128 |
akoeplinger
approved these changes
Mar 16, 2026
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.
Summary
Pin the DevServer package to the exact locally-built version in the template test infrastructure so that stable versions from darc feeds don't cause NU1603.
Problem
When a VMR official build publishes a stable DevServer package (e.g.
10.0.6) to a darc feed, NuGet prefers it over the locally-built prerelease (10.0.6-ci) because stable > prerelease in SemVer. This triggers NU1603, which becomes fatal withTreatWarningsAsErrors.Recurs on every servicing patch — not just
10.0.6.Fix
Two changes:
PrepareForTest.targets— pipeMicrosoftAspNetCoreComponentsWebAssemblyDevServerVersionthrough toDirectory.Build.props.inDirectory.Build.props.in— add<PackageReference Update>with exact version range[x.y.z-ci]This forces NuGet to use the locally-built package during template tests. The shipped template continues using
>=semantics for customers.Fixes #65701