Skip to content

Consolidate some jit64 tests into less assemblies - #120992

Merged
jkoritzinsky merged 24 commits into
dotnet:mainfrom
jkoritzinsky:test-merge
Oct 24, 2025
Merged

Consolidate some jit64 tests into less assemblies#120992
jkoritzinsky merged 24 commits into
dotnet:mainfrom
jkoritzinsky:test-merge

Conversation

@jkoritzinsky

Copy link
Copy Markdown
Member

Reduces the number of project files in the src/tests tree by 4.3% (removes 455 projects).

Part of the continuing effort to get us to a point where we don't need separate inner test builds and the cost of building src/tests multiple times is less than the cost of marshalling the bits from different jobs.

CopilotAI 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.

Pull Request Overview

This PR consolidates multiple JIT64 test projects into fewer assemblies to reduce build overhead. Rather than having each test as a separate project, related tests are grouped together into single assemblies. This effort reduces the project count by 4.3% (removing 455 projects), which helps optimize build times by reducing the cost of building the test tree multiple times and minimizes bit marshalling between jobs.

  • Test consolidation via namespace separation instead of separate projects
  • Addition of [OuterLoop] attributes to longer-running tests
  • Replacement of GCStressIncompatible project properties with [SkipOnCoreClr] attributes
  • Refactoring of platform-specific test filtering from runtime checks to attributes

Reviewed Changes

Copilot reviewed 300 out of 957 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
box-unbox*.csAdded file-scoped namespaces and [OuterLoop] attributes to nullable box/unbox tests
box-unbox*.csprojRemoved individual project files as tests are now consolidated
overflow*.csCreated individual test files for overflow operations (add, sub, mul, div) with proper namespaces
overflow*.csprojRemoved individual project files and created single rtchecks.csproj
rtchecks.csprojNew consolidated project file listing all overflow test sources
VolatileTest*.csCreated individual test files for each volatile operator test with namespaces
VolatileTest*.csprojRemoved individual projects; tests now consolidated
VolatileTest.csprojNew consolidated project for all volatile test sources
HugeArray*.cs/csprojReplaced project-level GCStress settings with test-level [SkipOnCoreClr] attributes
HugeField*.cs/csprojReplaced project-level GCStress settings with test-level attributes
hugeexpr1.cs/csprojAdded [OuterLoop] and [SkipOnCoreClr] attributes, removed project properties
hugeSimpleExpr1.cs/csprojReplaced GCStress project properties with [SkipOnCoreClr] attribute
ArrayWithThread.cs/csprojMoved GCStress configuration from project to [SkipOnCoreClr] attribute
mcc_interop.ilprojNew consolidated project for all mcc interop IL tests
mcc_interop.ilNew main entry point that calls all individual mcc test methods
mcc_i*.ilUpdated namespaces and replaced runtime platform checks with [PlatformSpecific] or [ConditionalFact] attributes
mcc_i*.ilprojRemoved individual project files as tests are consolidated

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@jkoritzinsky

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
jkoritzinsky enabled auto-merge (squash) October 24, 2025 18:57
@jkoritzinsky
jkoritzinsky enabled auto-merge (squash) October 24, 2025 18:58
Comment threadsrc/tests/JIT/jit64/hfa/main/testA/hfa_nd2A_d.csproj Outdated
Comment threadsrc/tests/JIT/jit64/mcc/interop/mcc_i11.il Outdated
Comment threadsrc/tests/JIT/jit64/mcc/interop/mcc_i12.il Outdated
Comment threadsrc/tests/JIT/jit64/mcc/interop/mcc_i13.il Outdated
Comment threadsrc/tests/JIT/jit64/mcc/interop/mcc_i14.il
@jkoritzinsky

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
jkoritzinsky enabled auto-merge (squash) October 24, 2025 21:52
@jkoritzinsky
jkoritzinsky merged commit d4f4139 into dotnet:mainOct 24, 2025
128 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Nov 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructuretest-enhancementImprovements of test source code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants

@jkoritzinsky@am11@jakobbotsch@AndyAyersMS