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
Migrate the test project to the new dotnet test experience before xunit v4 #111
xunit.v3 4.0.0 cannot be merged as a version bump. It needs a migration first, and this issue is the hold's tracking issue (referenced from .github/renovate.json5).
What fails
Renovate proposed the bump in #108. Both .NET test jobs failed, identically on CI and on a local Mac:
/home/runner/.nuget/packages/microsoft.testing.platform.msbuild/2.3.3/buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.targets(320,5):
error : Testing with VSTest target is no longer supported by Microsoft.Testing.Platform
on .NET 10 SDK and later. If you use dotnet test, you should opt-in to the new
dotnet test experience.
xunit.v3 4.0.0 depends on xunit.v3.mtp-v2 [4.0.0, 4.0.0], which pulls Microsoft.Testing.Platform 2.x. MTP 2 drops the VSTest bridge on the .NET 10 SDK, so the current dotnet test invocation has nowhere to run.
This is not the same failure mode as the Verify family coupling documented in test/FactorioTools.Test/FactorioTools.Test.csproj. That one builds cleanly and dies at runtime. This one fails at build time, loudly, which is the easier kind.
What the migration involves
At minimum:
Opt the test project into the new dotnet test experience (a dotnet.config with a [dotnet.test.runner] section, or the equivalent MSBuild property).
Replace the VSTest-only arguments in .github/workflows/ci.yml. Both .NET jobs pass --logger "console;verbosity=normal", which is VSTest syntax that MTP does not accept. Check --no-build too.
Re-check the "Check no Verify snapshots drifted" step still sees the same working-tree changes, since it depends on the test run actually happening.
Confirm coverlet.collector 10.0.1 still collects under MTP, or swap it for the MTP coverage path.
Re-run both matrix jobs (default settings and UseLuaSettings=true).
What is held meanwhile
.github/renovate.json5 holds xunit.v3 and xunit.runner.visualstudio below 4.0.0, so patches within 3.x keep flowing and the bot stops re-proposing the major every week. Raise the ceiling as part of this migration, not before.
Verify.XunitV3 32.0.0 was merged separately in #106 and is unaffected - both .NET test jobs passed on it.
Adding one item to this checklist: Verify 33 waits on this migration too. Every Verify.XunitV3 33.x release depends on xunit.v3 4.x (#155, closed). #157 holds Verify below 33 and Verify.DiffPlex below 3.4.0.
When this lands, lift those holds in the same PR, and add Verify's license property to the test project. Without it the build fails with SponsorCheck SC021. Checked on 2026-10-20: the OpenSource exemption builds with SC031 "Exemption claimed". The end month can be at most 12 months out, and the build fails again after it passes.
Activity
Hold the xunit-dotnet monorepo on 3.x until the test host is migrated (…
wormeyman commentedon Oct 21, 2026
Adding one item to this checklist: Verify 33 waits on this migration too. Every Verify.XunitV3 33.x release depends on xunit.v3 4.x (#155, closed). #157 holds Verify below 33 and Verify.DiffPlex below 3.4.0.
When this lands, lift those holds in the same PR, and add Verify's license property to the test project. Without it the build fails with SponsorCheck SC021. Checked on 2026-10-20: the OpenSource exemption builds with SC031 "Exemption claimed". The end month can be at most 12 months out, and the build fails again after it passes.
Hold Verify below 33 until the xunit v4 migration (#111) (#157)
wormeyman commentedon Oct 21, 2026
Moot now: #177 removed the .NET test project, and the xunit and Verify holds went with it. The planner tests are Rust.