Skip to content

chore(tests): bump xunit.runner.visualstudio 3.0.0 → 3.1.5 (#218)#229

Merged
Chris-Wolfgang merged 1 commit into
vNextfrom
tier2/218-xunit-runner-align
Jun 30, 2026
Merged

chore(tests): bump xunit.runner.visualstudio 3.0.0 → 3.1.5 (#218)#229
Chris-Wolfgang merged 1 commit into
vNextfrom
tier2/218-xunit-runner-align

Conversation

@Chris-Wolfgang

@Chris-Wolfgang Chris-Wolfgang commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Summary

Bumps the net8/9/10 ItemGroup runner from xunit.runner.visualstudio 3.0.0 to 3.1.5 (latest GA on the 3.x line). The xunit core packages stay at 2.9.3 — runner 3.x explicitly supports xunit 1.x / 2.x / 3.x test discovery, so the mismatched-major shape is a non-issue on real GA releases.

Reversed from the original direction. The first version of this PR tried to downgrade to 2.8.2 on the basis of CLAUDE.md's note saying "3.x is incompatible with xunit v2." That note dates from the 3.0.0-pre.* era when v2 discovery actually was broken; GA 3.x restored it. 2.8.2 is the ceiling of the 2.x line (no newer 2.x exists), so the downgrade would have sacrificed ~14 months of runner maintenance. Upgrading to the latest 3.x line instead.

Stacked on #228.

Test plan

Local verification — 88/88 tests pass on each modern TFM with runner 3.1.5 + xunit core 2.9.3:

TFM Result
net8.0 Passed! — 88/88 in 114 ms
net9.0 Passed! — 88/88 in 101 ms
net10.0 Passed! — 88/88 in 170 ms

Follow-up

The shared CLAUDE.md at C:\Source\GitHub\CLAUDE.md still has the stale "xunit.runner.visualstudio 2.8.2 (NOT 3.x)" rule. Should be updated separately to reflect that GA 3.x is compatible. Not in this PR's scope.

Closes #218

Base automatically changed from tier2/219-publicapi-per-tfm-value to vNext June 30, 2026 00:35
Moves the net8/9/10 ItemGroup runner from 3.0.0 to 3.1.5 (latest GA on
the 3.x line). The xunit core packages stay at 2.9.3 — runner 3.x
explicitly supports xunit 1.x / 2.x / 3.x test discovery, so the
mismatched-major shape is a non-issue on real GA releases.

Earlier round of this PR mistakenly tried to downgrade to 2.8.2 on the
basis of a CLAUDE.md note saying "3.x is incompatible with xunit v2."
The note dates from the 3.0.0-pre.* era, when v2 discovery actually
was broken; the GA 3.x line restored it. 2.8.2 is the *ceiling* of the
2.x line (no newer 2.x exists), so the alleged fix was actually
sacrificing ~14 months of runner maintenance. Upgrading instead.

Verified locally: 88/88 tests pass on net8.0, net9.0, and net10.0
with runner 3.1.5 + xunit 2.9.3.

Follow-up: CLAUDE.md's xunit runner rule needs to be updated to
reflect that 3.x GA is compatible (separate change, not in this PR).

Closes #218
@Chris-Wolfgang Chris-Wolfgang force-pushed the tier2/218-xunit-runner-align branch from 9e95165 to 2b3180b Compare June 30, 2026 00:39
@Chris-Wolfgang Chris-Wolfgang changed the title fix(tests): downgrade xunit.runner.visualstudio 3.0.0 → 2.8.2 on net8+ (#218) chore(tests): bump xunit.runner.visualstudio 3.0.0 → 3.1.5 (#218) Jun 30, 2026
@Chris-Wolfgang Chris-Wolfgang merged commit 2333069 into vNext Jun 30, 2026
@Chris-Wolfgang Chris-Wolfgang deleted the tier2/218-xunit-runner-align branch June 30, 2026 00:41
Chris-Wolfgang added a commit that referenced this pull request Jun 30, 2026
Tier-2 cleanup round surfaced by the v0.3.3 AI code-review pass. No
public API change in Wolfgang.TryPattern itself; PATCH bump per SemVer.

Contents this release:

- Docs: README database example converted to Try.RunAsync /
  ExecuteReaderAsync (#226, closes #221)
- Perf: benchmarks project bumped net8.0 -> net10.0 + workflow SDK
  install bumped to 10.0.x (#227, closes #220)
- Fix: PublicApiAnalyzer manifest — Result<T>.Value.get moved into
  per-TFM split (modern: T?, legacy: T); the previous top-level entry
  was silently wrong against modern builds (#228, closes #219)
- Chore: xunit.runner.visualstudio bumped 3.0.0 -> 3.1.5 (latest 3.x
  GA; xunit core 2.9.3 stays put — 3.x runner supports xunit 1/2/3)
  (#229, closes #218)
- Chore: test directory + namespace aligned under single
  Wolfgang.TryPattern.Tests.Unit identity (directory, csproj,
  assembly, namespace, sln + stryker config) (#231, closes #222)
- Fix: scripts/build-pr.ps1 restored -UseBasicParsing on
  Invoke-WebRequest (#230, merged directly to main)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant