Skip to content

Group JitBlue regression tests by runner - #133591

Merged
tannergooding merged 7 commits into
dotnet:mainfrom
tannergooding:tannergooding-project-conflict-resolution
Sep 11, 2026
Merged

tannergooding merged 7 commits into
dotnet:mainfrom
tannergooding:tannergooding-project-conflict-resolution

Conversation

@tannergooding

Copy link
Copy Markdown
Member

Summary

Replace the conflict-prone regression source lists with globs over per-runner directories. Keep the existing categories (JitBlue, Dev11, Dev14, and CLR-x86-JIT) at the same level, and group sources beneath them by runner. Single-file tests no longer need a directory of their own; related multi-file tests remain together.

Group project-backed JitBlue tests beneath Regression_2 and Regression_3, preserving all 235 individual projects and their supporting files. Update the wrapper project globs and shared-source references without changing existing runner membership, compilation settings, or process-isolation requirements. Update the test-authoring guidance to distinguish source-glob runners from project-backed runners.

All 1,198 relocated files retain identical contents. The one intentional coverage change is Runtime_131557: it previously had no project reference and is now included in Regression_ro_2.

Validation

  • Built and ran all 15 affected runners on Windows x64 Checked: 1,013 passed, 81 skipped, and no failures. Confirmed Runtime_131557 executes and passes.
  • Reconfigured native test discovery, rebuilt Runtime101046Native and CrossplatVirtualAlloc at their new paths, and copied their dependencies through the existing test build flow.
  • Compared evaluated source/project membership and compiler settings before and after the moves; verified exact-content renames and checked for stale path references.
  • Linux, ARM, and Wasm were not run locally.

Note

This pull request description was drafted with GitHub Copilot.

Copilot AI lite review requested due to automatic review settings September 10, 2026 12:03
@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Sep 10, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@tannergooding
tannergooding force-pushed the tannergooding-project-conflict-resolution branch from 894d737 to 42c785e Compare September 10, 2026 12:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The change moves/re-globs a very large test surface area, so a human should validate runner membership and discovery end-to-end (beyond the specific issues flagged in review comments).

Review tier: Lite
Findings: None

What changed in this PR

Refactors CoreCLR JIT regression test organization under src/tests/JIT/Regression by switching from explicit, conflict-prone source lists to directory/glob-based inclusion that groups tests beneath runner-specific directories (and updates the relevant merged-runner wrapper projects accordingly).

Changes:

  • Replace several explicit <Compile Include="..."> entries with a runner-folder glob (*\$(MSBuildProjectName)\**\*.cs) for merged PdbOnly runners.
  • Update merged wrapper project globs so Regression_2/Regression_3 only pick up projects from JitBlue/Regression_2 and JitBlue/Regression_3.
  • Relocate/add regression test sources and project-backed tests under the new runner-grouped layout; update documentation example path accordingly.
File Description
src/​tests/​JIT/​Regression/​Regression_PdbOnly_ro.csproj Switches JitBlue PdbOnly-ro compilation from explicit includes to a runner-directory glob.
src/​tests/​JIT/​Regression/​Regression_PdbOnly_r_3.csproj Switches JitBlue PdbOnly-r3 compilation from explicit includes to a runner-directory glob.
src/​tests/​JIT/​Regression/​Regression_2.csproj Narrows merged wrapper project discovery to JitBlue/Regression_2/**/*.??proj.
src/​tests/​JIT/​Regression/​Regression_3.csproj Narrows merged wrapper project discovery to JitBlue/Regression_3/**/*.??proj.
src/​tests/​JIT/​Regression/​JitBlue/​Regression_o_3/​Runtime_67723.cs Relocated regression test source under runner grouping.
src/​tests/​JIT/​Regression/​JitBlue/​Regression_o_2/​Runtime_106143.cs Relocated regression test source under runner grouping.
src/​tests/​JIT/​Regression/​JitBlue/​Regression_ro_2/​Runtime_61359.cs Relocated regression test source under runner grouping.
docs/​workflow/​testing/​coreclr/​disasm-checks.md Updates example test path to match the new directory layout.

Copilot AI review requested due to automatic review settings September 10, 2026 12:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The change is dominated by large-scale test source/project relocation and build-discovery behavior changes that are difficult to fully validate here (especially cross-platform) from the provided diffs alone.

Review tier: Lite
Findings: None

@jkotas

jkotas commented Sep 10, 2026

Copy link
Copy Markdown
Member

src/tests/JIT/Regression/JitBlue/Regression_2/Runtime_

If we are moving things around, can we omit some parts of the path? Would src/tests/JIT/Regression_2/Runtime_ make sense?

@tannergooding

Copy link
Copy Markdown
Member Author

If we are moving things around, can we omit some parts of the path? Would src/tests/JIT/Regression_2/Runtime_ make sense?

We can, I had just tried to keep this mostly minimal to start, essentially just taking files/projects "as is" and then moving them under a folder for what globs them.

The general goal here is really just to stop the constant merge conflicts we otherwise are getting from adding new regression tests into the merged runner projects.

tannergooding and others added 4 commits September 10, 2026 08:09
Move all 1,198 files without content changes. Update build wiring in the following commit.

Co-authored-by: Copilot App <[email protected]>
Preserve project settings through the existing regression props and exclude relocated projects from the outer JIT runners. Update source globs, shared-source references, and test-authoring guidance.

Co-authored-by: Copilot App <[email protected]>
Resolve the source-list conflict by placing Runtime_133518 and Runtime_133521 under the Regression_ro_2 glob without changing their contents.

Co-authored-by: Copilot App <[email protected]>
Copilot AI review requested due to automatic review settings September 10, 2026 16:02
@tannergooding

Copy link
Copy Markdown
Member Author

Shorted the paths as suggested and resolved merge conflicts that came in

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

It performs a large-scale test layout/build-graph reshaping with broad potential impact, and I can’t fully validate runner membership and cross-platform behavior from the provided diffs alone.

Review tier: Lite
Findings: None

@jkotas
jkotas requested a review from jkoritzinsky September 10, 2026 16:11
Copilot AI review requested due to automatic review settings September 10, 2026 19:51
@tannergooding

Copy link
Copy Markdown
Member Author

Had to move the csproj to their respective source folders as there is a pre-existing behavior for included projects that they're expected to be nested compared to the project including them, which is what caused the WASM failures

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

There are a few concrete correctness/quality issues in newly added/relocated test sources (type-name typos and minor text/whitespace issues) that should be fixed before merging.

Review tier: Lite
Findings: None

@tannergooding

Copy link
Copy Markdown
Member Author

/ba-g Remaining failures are the same Mono failures reproducing on main

@jkoritzinsky could I get another sign-off so this can be merged?

@tannergooding
tannergooding enabled auto-merge (squash) September 10, 2026 23:28
@tannergooding
tannergooding merged commit ac550b6 into dotnet:main Sep 11, 2026
89 of 91 checks passed
AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this pull request Sep 11, 2026
Resolve the regression test layout conflict from dotnet#133591.

Co-authored-by: Copilot <[email protected]>

Copilot-Session: be30cab5-d605-4896-b07e-9758803fed4f
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 12.0-preview1 milestone Sep 14, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants