Skip to content

Conversation

@jkoritzinsky
Copy link
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.

Copilot AI review requested due to automatic review settings October 22, 2025 22:18
@jkoritzinsky jkoritzinsky added test-enhancement Improvements of test source code area-Infrastructure labels Oct 22, 2025
Copy link
Contributor

Copilot AI left a comment

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
File Description
box-unbox*.cs Added file-scoped namespaces and [OuterLoop] attributes to nullable box/unbox tests
box-unbox*.csproj Removed individual project files as tests are now consolidated
overflow*.cs Created individual test files for overflow operations (add, sub, mul, div) with proper namespaces
overflow*.csproj Removed individual project files and created single rtchecks.csproj
rtchecks.csproj New consolidated project file listing all overflow test sources
VolatileTest*.cs Created individual test files for each volatile operator test with namespaces
VolatileTest*.csproj Removed individual projects; tests now consolidated
VolatileTest.csproj New consolidated project for all volatile test sources
HugeArray*.cs/csproj Replaced project-level GCStress settings with test-level [SkipOnCoreClr] attributes
HugeField*.cs/csproj Replaced project-level GCStress settings with test-level attributes
hugeexpr1.cs/csproj Added [OuterLoop] and [SkipOnCoreClr] attributes, removed project properties
hugeSimpleExpr1.cs/csproj Replaced GCStress project properties with [SkipOnCoreClr] attribute
ArrayWithThread.cs/csproj Moved GCStress configuration from project to [SkipOnCoreClr] attribute
mcc_interop.ilproj New consolidated project for all mcc interop IL tests
mcc_interop.il New main entry point that calls all individual mcc test methods
mcc_i*.il Updated namespaces and replaced runtime platform checks with [PlatformSpecific] or [ConditionalFact] attributes
mcc_i*.ilproj Removed individual project files as tests are consolidated

@dotnet-policy-service
Copy link
Contributor

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

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky jkoritzinsky enabled auto-merge (squash) October 24, 2025 18:57
@jkoritzinsky jkoritzinsky disabled auto-merge October 24, 2025 18:57
@jkoritzinsky jkoritzinsky enabled auto-merge (squash) October 24, 2025 18:58
@jkoritzinsky jkoritzinsky disabled auto-merge October 24, 2025 20:30
@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

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:main Oct 24, 2025
128 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure test-enhancement Improvements of test source code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants