Problem
A fleet-wide test-matrix audit (2026-08-26) confirmed a real, live bug in ETL-FixedWidth (fixed in Chris-Wolfgang/ETL-FixedWidth#336) and ETL-Csv (Chris-Wolfgang/ETL-Csv#255, still unfixed): netcoreapp3.1 and net5.0 test runs can silently produce zero tests. Cause: xunit.runner.visualstudio 2.8.2 ships no discovery adapter for those two TFM slots. dotnet test --framework netcoreapp3.1 (or net5.0) then reports "No test is available" and exits 0 — CI stays green, and the coverage gate doesn't catch it either, since other TFMs in the same run produce real coverage and mask the dead slots.
This repo's test project targets net5.0 with the fleet's standard xunit.runner.visualstudio pinning convention (the audit pass didn't confirm whether netcoreapp3.1 is also targeted here — check that as part of this issue). Either way there's exposure on at least the net5.0 slot, and it has not been individually verified either way — this issue exists to do that verification, not because a failure has been confirmed here specifically.
Required action
- Check this repo's test csproj for exactly which of
net5.0/netcoreapp3.1 it targets.
- Run
dotnet test --framework net5.0 (and --framework netcoreapp3.1 if present) locally.
- Confirm a real (non-zero) test count is discovered and passes on each.
- If any reports zero tests / "No test is available", apply the same fix as ETL-FixedWidth#336: split the
xunit.runner.visualstudio reference so that slot pins to 2.4.5, keeping 2.8.2 for the rest (both capped allowedVersions="(,3.0.0)" per the fleet's xunit_runner_3x_compatible convention).
- If everything discovers and runs tests correctly, close this issue as verified-clean.
Reference
Chris-Wolfgang/ETL-FixedWidth#336 (the fix), Chris-Wolfgang/ETL-Csv#255 (the sibling repo with the same confirmed-but-unfixed bug), and the fleet-wide guard proposed in Chris-Wolfgang/repo-template#456 (would catch this automatically for every repo once built, making per-repo manual verification like this unnecessary going forward).
Problem
A fleet-wide test-matrix audit (2026-08-26) confirmed a real, live bug in ETL-FixedWidth (fixed in Chris-Wolfgang/ETL-FixedWidth#336) and ETL-Csv (Chris-Wolfgang/ETL-Csv#255, still unfixed):
netcoreapp3.1andnet5.0test runs can silently produce zero tests. Cause:xunit.runner.visualstudio2.8.2 ships no discovery adapter for those two TFM slots.dotnet test --framework netcoreapp3.1(ornet5.0) then reports "No test is available" and exits 0 — CI stays green, and the coverage gate doesn't catch it either, since other TFMs in the same run produce real coverage and mask the dead slots.This repo's test project targets
net5.0with the fleet's standardxunit.runner.visualstudiopinning convention (the audit pass didn't confirm whethernetcoreapp3.1is also targeted here — check that as part of this issue). Either way there's exposure on at least thenet5.0slot, and it has not been individually verified either way — this issue exists to do that verification, not because a failure has been confirmed here specifically.Required action
net5.0/netcoreapp3.1it targets.dotnet test --framework net5.0(and--framework netcoreapp3.1if present) locally.xunit.runner.visualstudioreference so that slot pins to 2.4.5, keeping 2.8.2 for the rest (both cappedallowedVersions="(,3.0.0)"per the fleet'sxunit_runner_3x_compatibleconvention).Reference
Chris-Wolfgang/ETL-FixedWidth#336 (the fix), Chris-Wolfgang/ETL-Csv#255 (the sibling repo with the same confirmed-but-unfixed bug), and the fleet-wide guard proposed in Chris-Wolfgang/repo-template#456 (would catch this automatically for every repo once built, making per-repo manual verification like this unnecessary going forward).