From cc825c07c2806ab45771146bf65b40a0e51f648b Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Fri, 24 Sep 2021 21:55:24 +0300 Subject: [PATCH] Probe DOTNET_ variables related to COMPlus_ as well --- .../Discoverers/SkipOnCoreClrDiscoverer.cs | 21 ++++++++++++------- .../src/RuntimeTestModes.cs | 14 ++++++------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.DotNet.XUnitExtensions/src/Discoverers/SkipOnCoreClrDiscoverer.cs b/src/Microsoft.DotNet.XUnitExtensions/src/Discoverers/SkipOnCoreClrDiscoverer.cs index 24443a347a5..b3f95562e57 100644 --- a/src/Microsoft.DotNet.XUnitExtensions/src/Discoverers/SkipOnCoreClrDiscoverer.cs +++ b/src/Microsoft.DotNet.XUnitExtensions/src/Discoverers/SkipOnCoreClrDiscoverer.cs @@ -13,13 +13,20 @@ namespace Microsoft.DotNet.XUnitExtensions { public class SkipOnCoreClrDiscoverer : ITraitDiscoverer { - private static readonly Lazy s_isJitStress = new Lazy(() => !string.Equals(GetEnvironmentVariableValue("COMPlus_JitStress"), "0", StringComparison.InvariantCulture)); - private static readonly Lazy s_isJitStressRegs = new Lazy(() => !string.Equals(GetEnvironmentVariableValue("COMPlus_JitStressRegs"), "0", StringComparison.InvariantCulture)); - private static readonly Lazy s_isJitMinOpts = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_JITMinOpts"), "1", StringComparison.InvariantCulture)); - private static readonly Lazy s_isTailCallStress = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_TailcallStress"), "1", StringComparison.InvariantCulture)); - private static readonly Lazy s_isZapDisable = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_ZapDisable"), "1", StringComparison.InvariantCulture)); - private static readonly Lazy s_isGCStress3 = new Lazy(() => CompareGCStressModeAsLower(GetEnvironmentVariableValue("COMPlus_GCStress"), "0x3", "3")); - private static readonly Lazy s_isGCStressC = new Lazy(() => CompareGCStressModeAsLower(GetEnvironmentVariableValue("COMPlus_GCStress"), "0xC", "C")); + private static readonly Lazy s_isJitStress = new Lazy(() => !string.Equals(GetEnvironmentVariableValue("COMPlus_JitStress"), "0", StringComparison.InvariantCulture) && + !string.Equals(GetEnvironmentVariableValue("DOTNET_JitStress"), "0", StringComparison.InvariantCulture)); + private static readonly Lazy s_isJitStressRegs = new Lazy(() => !string.Equals(GetEnvironmentVariableValue("COMPlus_JitStressRegs"), "0", StringComparison.InvariantCulture) && + !string.Equals(GetEnvironmentVariableValue("DOTNET_JitStressRegs"), "0", StringComparison.InvariantCulture)); + private static readonly Lazy s_isJitMinOpts = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_JITMinOpts"), "1", StringComparison.InvariantCulture) || + string.Equals(GetEnvironmentVariableValue("DOTNET_JITMinOpts"), "1", StringComparison.InvariantCulture)); + private static readonly Lazy s_isTailCallStress = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_TailcallStress"), "1", StringComparison.InvariantCulture) || + string.Equals(GetEnvironmentVariableValue("DOTNET_TailcallStress"), "1", StringComparison.InvariantCulture)); + private static readonly Lazy s_isZapDisable = new Lazy(() => string.Equals(GetEnvironmentVariableValue("COMPlus_ZapDisable"), "1", StringComparison.InvariantCulture) || + string.Equals(GetEnvironmentVariableValue("DOTNET_ZapDisable"), "1", StringComparison.InvariantCulture)); + private static readonly Lazy s_isGCStress3 = new Lazy(() => CompareGCStressModeAsLower(GetEnvironmentVariableValue("COMPlus_GCStress"), "0x3", "3") || + CompareGCStressModeAsLower(GetEnvironmentVariableValue("DOTNET_GCStress"), "0x3", "3")); + private static readonly Lazy s_isGCStressC = new Lazy(() => CompareGCStressModeAsLower(GetEnvironmentVariableValue("COMPlus_GCStress"), "0xC", "C") || + CompareGCStressModeAsLower(GetEnvironmentVariableValue("DOTNET_GCStress"), "0xC", "C")); private static readonly Lazy s_isCheckedRuntime = new Lazy(() => IsCheckedRuntime()); private static readonly Lazy s_isReleaseRuntime = new Lazy(() => IsReleaseRuntime()); private static readonly Lazy s_isDebugRuntime = new Lazy(() => IsDebugRuntime()); diff --git a/src/Microsoft.DotNet.XUnitExtensions/src/RuntimeTestModes.cs b/src/Microsoft.DotNet.XUnitExtensions/src/RuntimeTestModes.cs index b8c32c93654..f64318dd4d2 100644 --- a/src/Microsoft.DotNet.XUnitExtensions/src/RuntimeTestModes.cs +++ b/src/Microsoft.DotNet.XUnitExtensions/src/RuntimeTestModes.cs @@ -17,22 +17,22 @@ public enum RuntimeTestModes // JitStress, JitStressRegs, JitMinOpts and TailcallStress enable // various modes in the JIT that cause us to exercise more code paths, // and generate different kinds of code - JitStress = 1 << 1, // COMPlus_JitStress is set. - JitStressRegs = 1 << 2, // COMPlus_JitStressRegs is set. - JitMinOpts = 1 << 3, // COMPlus_JITMinOpts is set. - TailcallStress = 1 << 4, // COMPlus_TailcallStress is set. + JitStress = 1 << 1, // DOTNET_JitStress (or COMPlus_JitStress) is set. + JitStressRegs = 1 << 2, // DOTNET_JitStressRegs (or COMPlus_JitStressRegs) is set. + JitMinOpts = 1 << 3, // DOTNET_JITMinOpts (or COMPlus_JITMinOpts) is set. + TailcallStress = 1 << 4, // DOTNET_TailcallStress (or COMPlus_TailcallStress) is set. // ZapDisable says to not use NGEN or ReadyToRun images. // This means we JIT everything. - ZapDisable = 1 << 5, // COMPlus_ZapDisable is set. + ZapDisable = 1 << 5, // DOTNET_ZapDisable (or COMPlus_ZapDisable) is set. // GCStress3 forces a GC at various locations, typically transitions // to/from the VM from managed code. - GCStress3 = 1 << 6, // COMPlus_GCStress includes mode 0x3. + GCStress3 = 1 << 6, // DOTNET_GCStress (or COMPlus_GCStress) includes mode 0x3. // GCStressC forces a GC at every JIT-generated code instruction, // including in NGEN/ReadyToRun code. - GCStressC = 1 << 7, // COMPlus_GCStress includes mode 0xC. + GCStressC = 1 << 7, // DOTNET_GCStress (or COMPlus_GCStress) includes mode 0xC. AnyGCStress = GCStress3 | GCStressC // Disable when any GCStress is exercised. } }