Nice restructuring — splitting to single-tfm and multi-tfm test projects makes the intent much clearer, and the new build.ps1 filter/category machinery is a good step toward faster PR pipelines.
A few things I noticed:
Bugs (please fix):
SkipIntegrationTestBuild is checked in IntegrationTestBuild.BuildTestAssetsForIntegrationTests but there's no early return — the build always runs regardless of the flag.
- Several
Assert messages in EndSessionShouldEnsureVstestConsoleProcessDies (both in RunTests.cs and CodeCoverageTests.cs) have swapped/misleading failure messages that will be confusing if they ever fire.
DiscoverTests.cs: The release/debug line-number conditional now has both branches asserting 22, making it dead code.
...
Originally posted by @Evangelink in #15484 (review)