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
{{ message }}
Repository navigation
Core tests never finish on SDK 11.0.100: a 20 MB results message from ParserResilienceTests stalls vstest.console #535
On SDK 11.0.100, dotnet test over test/CodoMetis.ValueRanges.Tests does not end. Every test passes in the test host within seconds; then vstest.console runs at 100% CPU and prints nothing. The other five unit and convention projects pass.
Found on 2026-11-11 while moving main to the GA SDK (#532).
Measured (macOS arm64, the same built assembly each time)
So it is the runner in the GA SDK, not the MSTest update and not the 11.0.0 runtime.
With --diag: the test host sends 51 TestExecution.StatsChange messages and the runner logs 49 as handled. Its last line is NotifyDataAvailable for the 50th, and it never logs again. That message is 20 MB. It holds the results of ParserResilienceTests' DynamicData rows, whose second argument is the hostile text itself: a million characters per row, repeated in the test case's display name and properties.
Why it matters now
global.json on main says rollForward: latestFeature, so a machine or a CI job that installs the newest 11.0.1xx SDK gets this runner today, whatever version the file names.
Change
The rows of ParserResilienceTests carry only the name, and each test builds its text from it. No megabyte string is a test argument any more.
release/10.x builds with SDK 10 and is not affected today. It will be when its build moves to the .NET 11 SDK (#534), so this change is cherry-picked there first.
Not done here: a minimal reproduction for microsoft/vstest. One test with a single DynamicData row of a few megabytes should show it.
Done when
dotnet test test/CodoMetis.ValueRanges.Tests ends on SDK 11.0.100 with every test passed, and the largest message in a --diag log is small.
Activity