Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/skills/jit-regression-test/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,14 @@ public class Runtime_99391
}
```

## [Optional] Step 4: Create a .csproj File (Only When Needed)
## Step 4: Create a .csproj File or add to the existing Regression_*.csproj

A custom `.csproj` file is **only required** when:
- Environment variables are needed to reproduce the bug (such as `DOTNET_JitStressModeNames`)
- Special compilation settings are required
Otherwise, register the test file in the existing `src/tests/JIT/Regression/Regression_*.csproj` (`Regression_ro_2.csproj` is a good default) file and skip creating a new .csproj.

It should be located next to the test source file with the following name: `Runtime_<issue_number>.csproj`. Example:
If a custom .csproj file is needed, it should be located next to the test source file with the following name: `Runtime_<issue_number>.csproj`. Example:

```xml
<Project Sdk="Microsoft.NET.Sdk">
Expand All @@ -112,7 +113,7 @@ It should be located next to the test source file with the following name: `Runt

## Important Notes

- **No .csproj needed for simple tests**: Most tests only need the `.cs` file. The test infrastructure uses default settings that work for most cases.
- **No .csproj needed for simple tests**: Most tests only need the `.cs` file in a separate `src/tests/JIT/Regression/JitBlue/Runtime_*/` folder and being registered in `Regression_ro_2.csproj`.
- **Look at recent tests**: When in doubt, examine recent tests under `src/tests/JIT/Regression/JitBlue/Runtime_*` for the latest conventions.
- **Use `[MethodImpl(MethodImplOptions.NoInlining)]`**: When you need to prevent inlining to reproduce a JIT bug.
- **Minimize the reproduction**: Strip down the test code to the minimal case that reproduces the issue.
2 changes: 1 addition & 1 deletion src/coreclr/jit/fgopt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include "lower.h" // for LowerRange()

// Flowgraph Optimization
// Flowgraph Optimizatio

//------------------------------------------------------------------------
// fgComputeReturnBlocks: Compute the set of BBJ_RETURN blocks.
Expand Down
7 changes: 6 additions & 1 deletion src/tests/JIT/Regression/Regression_ro_2.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@
<Compile Include="JitBlue\Runtime_96591\Runtime_96591_2.cs" />
<Compile Include="JitBlue\Runtime_96591\Runtime_96591.cs" />
<Compile Include="JitBlue\Runtime_96939\Runtime_96939.cs" />
<Compile Include="JitBlue\Runtime_122254\Runtime_122254.cs" />
<Compile Include="JitBlue\Runtime_122288\Runtime_122288.cs" />
<Compile Include="JitBlue\Runtime_123583\Runtime_123583.cs" />
<Compile Include="JitBlue\Runtime_123790\Runtime_123790.cs" />
<Compile Include="JitBlue\Runtime_124082\Runtime_124082.cs" />
</ItemGroup>
<Import Project="$(TestSourceDir)MergedTestRunner.targets" />
</Project>
</Project>
Loading