Skip to content
Merged
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
11 changes: 11 additions & 0 deletions docs/workflow/testing/coreclr/requiresprocessisolation.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,16 @@ Tests that depend on the framework itself being compiled with non-default settin
(e.g., `UseSystemResourceKeys`) must run in a process whose runtime matches those
settings.

### 30. Project sets `<CLRTestExitCode>` to a non-default value

`CLRTestExitCode` is checked by the test wrapper script at the process level. Tests
that expect a specific non-default exit code (e.g., a crash exit code such as
`COR_E_EXECUTIONENGINE`) must not use XUnit-level skip attributes like
`[SkipOnCoreClr]` for any of their skip conditions, because an XUnit-level skip
returns exit code 100, which conflicts with the expected custom exit code. All skip
logic for such tests must use process-level mechanisms (e.g., `GCStressIncompatible`,
`JitOptimizationSensitive`).

## Summary of Project-File-Based Triggers

If the project file contains **any** of the following MSBuild properties or items, set
Expand All @@ -202,6 +212,7 @@ If the project file contains **any** of the following MSBuild properties or item
| `CrossGenTest` (set to `false`) | Crossgen skip needed |
| `AppManifest` | Per-process manifest |
| `IlcMultiModule` | Incompatible build mode |
| `CLRTestExitCode` (non-default value) | Custom exit code; XUnit-level skips return 100 and conflict with the expected code |

## Summary of Source-Code-Based Triggers

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ private static int ILStubCache_GCTransition_NoGCTransition(int expected)
return n + 1;
}

[SkipOnCoreClr("This test is not compatible with GC stress.", RuntimeTestModes.AnyGCStress)]
[Fact]
[ActiveIssue("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/dotnet/runtime/issues/91388", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.PlatformDoesNotSupportNativeTestAssets))]
public static void TestEntryPoint()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<RequiresProcessIsolation>true</RequiresProcessIsolation>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<MonoAotIncompatible>true</MonoAotIncompatible>
<GCStressIncompatible>true</GCStressIncompatible>
<!-- Expected COR_E_EXECUTIONENGINE -->
<CLRTestExitCode>134</CLRTestExitCode>
<CLRTestExitCode Condition="'$(TestWrapperTargetsWindows)' == 'true'">-2146233082</CLRTestExitCode>
Expand Down
Loading