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
Duplicate test cases in runtime install tests cause 24 skipped tests per run #701
GivenThatIWantToInstallDotnetFromAScript generates duplicate test cases for several runtime install methods, resulting in 24 "Skipping test case with duplicate ID" warnings per test run. These are full download-and-install integration tests, so the duplicates that do run are wasting CI time, and the skip warnings in the output create noise that can be mistaken for a real problem.
Cause
InstallRuntimeFromChannelTestCases iterates both _runtimeBranches and _channels to generate test data. Several entries in _runtimeBranches are not actually branches — they are channels that also appear in _channels with the same quality:
_runtimeBranches entry
Duplicate in _channels
("6.0", ..., Quality.None)
("6.0", ..., Quality.None)
("7.0", ..., Quality.None)
("7.0", ..., Quality.None)
("8.0", ..., Quality.None)
("8.0", ..., Quality.None)
("9.0", ..., Quality.None)
("9.0", ..., Quality.None)
("10.0", ..., Quality.None)
("10.0", ..., Quality.None)
("11.0", ..., Quality.Preview)
("11.0", ..., Quality.Preview)
When Quality.None is passed through GetQualityOptionsFromFlags, it yields nothing, and .DefaultIfEmpty() produces a single null — so both lists generate identical test parameters (channel, null, versionRegex).
This affects 4 test methods (WhenInstallingDotnetRuntime, WhenInstallingAspNetCoreRuntime, WhenInstallingWindowsdesktopRuntime, WhenInstallingDotnetRuntimeWithFeedCredential), producing 24 duplicate test cases that xUnit skips.
Impact
Confusing output — 24 "Skipping test case with duplicate ID" warnings look like something is wrong
Wasted CI time — the non-skipped half of each duplicate pair still runs a full SDK/runtime download
Activity
Fix duplicate test cases in InstallRuntimeFromChannelTestCases