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
PR #120992 ("Consolidate some jit64 tests into less assemblies", merged 2025-10-24) deleted the per-test .csproj files under src/tests/JIT/jit64/valuetypes/nullable/box-unbox/ and .../nullable/castclass/ and modified the source files to add namespace declarations and [OuterLoop] attributes — preparation for merging the tests into consolidated assemblies. However, no consolidating .csproj was added for these two subtrees, so the tests no longer build and no longer run.
Net effect: 343 JIT regression tests are silently disabled (no build artifact, never executed in CI).
Affected files
193 source files under src/tests/JIT/jit64/valuetypes/nullable/box-unbox/:
Subdir
.cs files
.csproj files
box-unbox/
43
0
enum/
3
0
generics/
43
0
interface/
18
0
null/
43
0
value/
43
0
150 source files under src/tests/JIT/jit64/valuetypes/nullable/castclass/:
Subdir
.cs files
.csproj files
castclass/
43
0
enum/
3
0
generics/
43
0
interface/
18
0
null/
43
0
(No .csproj or .ilproj anywhere under either subtree.)
git diff-tree -r --name-status d4f4139d244 -- .../box-unbox/ shows 194 deletions (the .csproj files) and 193 modifications (the .cs files — adding namespace and [OuterLoop]).
For comparison, the same PR did correctly create new consolidating projects for two other subtrees: src/tests/JIT/jit64/rtchecks/rtchecks.csproj (lists overflow/*.cs) and src/tests/JIT/jit64/opt/cse/VolatileTest.csproj (lists VolatileTest_*.cs). The nullable subtrees were missed.
Sample modified file (box-unbox001.cs) shows the intended consolidation pattern: namespace box_unbox001; was added so the NullableTest class names wouldn't collide when merged. The [Fact] [OuterLoop] public static int TestEntryPoint() is still there — these are real, intended-to-run tests.
Suggested fix
Add two consolidating .csproj files (or one per subtree, mirroring the rtchecks.csproj style):
src/tests/JIT/jit64/valuetypes/nullable/box-unbox/box-unbox.csproj enumerating the 193 .cs files
src/tests/JIT/jit64/valuetypes/nullable/castclass/castclass.csproj enumerating the 150 .cs files
Both will also need to <Compile Include> the shared src/tests/JIT/jit64/valuetypes/nullable/structdef.cs (which defines Helper, ExitCode).
Discovered while sweeping the JIT test tree for wasm R2R failures (#128234) — noticed that several directories had .cs files with no enclosing project.
Note
This issue was generated by GitHub Copilot.
Summary
PR #120992 ("Consolidate some jit64 tests into less assemblies", merged 2025-10-24) deleted the per-test
.csprojfiles undersrc/tests/JIT/jit64/valuetypes/nullable/box-unbox/and.../nullable/castclass/and modified the source files to addnamespacedeclarations and[OuterLoop]attributes — preparation for merging the tests into consolidated assemblies. However, no consolidating.csprojwas added for these two subtrees, so the tests no longer build and no longer run.Net effect: 343 JIT regression tests are silently disabled (no build artifact, never executed in CI).
Affected files
193 source files under
src/tests/JIT/jit64/valuetypes/nullable/box-unbox/:.csfiles.csprojfilesbox-unbox/enum/generics/interface/null/value/150 source files under
src/tests/JIT/jit64/valuetypes/nullable/castclass/:.csfiles.csprojfilescastclass/enum/generics/interface/null/(No
.csprojor.ilprojanywhere under either subtree.)Evidence
git log -- src/tests/JIT/jit64/valuetypes/nullable/box-unbox/shows the last touch was Consolidate some jit64 tests into less assemblies #120992; before that the per-test.csprojfiles existed (commits Testmerging jit64 #83151 and July infra rollout: Move runtime tests out of the coreclr folder (2nd attempt) #38058).git diff-tree -r --name-status d4f4139d244 -- .../box-unbox/shows 194 deletions (the.csprojfiles) and 193 modifications (the.csfiles — addingnamespaceand[OuterLoop]).src/tests/JIT/jit64/rtchecks/rtchecks.csproj(listsoverflow/*.cs) andsrc/tests/JIT/jit64/opt/cse/VolatileTest.csproj(listsVolatileTest_*.cs). The nullable subtrees were missed.Sample modified file (
box-unbox001.cs) shows the intended consolidation pattern: namespacebox_unbox001;was added so theNullableTestclass names wouldn't collide when merged. The[Fact] [OuterLoop] public static int TestEntryPoint()is still there — these are real, intended-to-run tests.Suggested fix
Add two consolidating
.csprojfiles (or one per subtree, mirroring thertchecks.csprojstyle):src/tests/JIT/jit64/valuetypes/nullable/box-unbox/box-unbox.csprojenumerating the 193.csfilessrc/tests/JIT/jit64/valuetypes/nullable/castclass/castclass.csprojenumerating the 150.csfilesBoth will also need to
<Compile Include>the sharedsrc/tests/JIT/jit64/valuetypes/nullable/structdef.cs(which definesHelper,ExitCode).cc @jkoritzinsky (author of #120992)
Context
Discovered while sweeping the JIT test tree for wasm R2R failures (#128234) — noticed that several directories had
.csfiles with no enclosing project.