diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs index 070f205748..023679b2e0 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs @@ -23,14 +23,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests { HwIntrinsics.DisableSSE42 | HwIntrinsics.DisableAVX, new string[] { "EnableSSE42", "EnableAVX" } } }; - [Fact] - public void TempAssertThrow() - { - FeatureTestRunner.RunWithHwIntrinsicsFeature( - () => Assert.True(false), - HwIntrinsics.DisableAVX); - } - [Theory] [MemberData(nameof(Intrinsics))] public void ToFeatureCollectionReturnsExpectedResult(HwIntrinsics expectedItrinsics, string[] expectedValues) @@ -54,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests public void AllowsAllHwIntrinsicFeatures() { FeatureTestRunner.RunWithHwIntrinsicsFeature( - () => Assert.True(Vector.IsHardwareAccelerated), + () => Assert.True(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)), HwIntrinsics.AllowAll); } @@ -62,174 +54,174 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests public void CanLimitHwIntrinsicFeatures() { FeatureTestRunner.RunWithHwIntrinsicsFeature( - () => Assert.False(Vector.IsHardwareAccelerated), + () => Assert.False(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)), HwIntrinsics.DisableSIMD); } - [Fact] - public void CanLimitHwIntrinsicFeaturesWithIntrinsicsParam() - { - static void AssertHwIntrinsicsFeatureDisabled(string intrinsic) - { - Assert.NotNull(intrinsic); - - switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) - { - case HwIntrinsics.DisableSIMD: - Assert.False(Vector.IsHardwareAccelerated); - break; -#if SUPPORTS_RUNTIME_INTRINSICS - case HwIntrinsics.DisableHWIntrinsic: - Assert.False(Vector.IsHardwareAccelerated); - break; - case HwIntrinsics.DisableSSE: - Assert.False(Sse.IsSupported); - break; - case HwIntrinsics.DisableSSE2: - Assert.False(Sse2.IsSupported); - break; - case HwIntrinsics.DisableAES: - Assert.False(Aes.IsSupported); - break; - case HwIntrinsics.DisablePCLMULQDQ: - Assert.False(Pclmulqdq.IsSupported); - break; - case HwIntrinsics.DisableSSE3: - Assert.False(Sse3.IsSupported); - break; - case HwIntrinsics.DisableSSSE3: - Assert.False(Ssse3.IsSupported); - break; - case HwIntrinsics.DisableSSE41: - Assert.False(Sse41.IsSupported); - break; - case HwIntrinsics.DisableSSE42: - Assert.False(Sse42.IsSupported); - break; - case HwIntrinsics.DisablePOPCNT: - Assert.False(Popcnt.IsSupported); - break; - case HwIntrinsics.DisableAVX: - Assert.False(Avx.IsSupported); - break; - case HwIntrinsics.DisableFMA: - Assert.False(Fma.IsSupported); - break; - case HwIntrinsics.DisableAVX2: - Assert.False(Avx2.IsSupported); - break; - case HwIntrinsics.DisableBMI1: - Assert.False(Bmi1.IsSupported); - break; - case HwIntrinsics.DisableBMI2: - Assert.False(Bmi2.IsSupported); - break; - case HwIntrinsics.DisableLZCNT: - Assert.False(Lzcnt.IsSupported); - break; -#endif - } - } - - foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) - { - FeatureTestRunner.RunWithHwIntrinsicsFeature(AssertHwIntrinsicsFeatureDisabled, intrinsic); - } - } - - [Fact] - public void CanLimitHwIntrinsicFeaturesWithSerializableParam() - { - static void AssertHwIntrinsicsFeatureDisabled(string serializable) - { - Assert.NotNull(serializable); - Assert.NotNull(FeatureTestRunner.Deserialize(serializable)); - -#if SUPPORTS_RUNTIME_INTRINSICS - Assert.False(Sse.IsSupported); -#endif - } - - foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) - { - FeatureTestRunner.RunWithHwIntrinsicsFeature( - AssertHwIntrinsicsFeatureDisabled, - HwIntrinsics.DisableSSE, - new FakeSerializable()); - } - } - - [Fact] - public void CanLimitHwIntrinsicFeaturesWithSerializableAndIntrinsicsParams() - { - static void AssertHwIntrinsicsFeatureDisabled(string serializable, string intrinsic) - { - Assert.NotNull(serializable); - Assert.NotNull(FeatureTestRunner.Deserialize(serializable)); - - switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) - { - case HwIntrinsics.DisableSIMD: - Assert.False(Vector.IsHardwareAccelerated); - break; -#if SUPPORTS_RUNTIME_INTRINSICS - case HwIntrinsics.DisableHWIntrinsic: - Assert.False(Vector.IsHardwareAccelerated); - break; - case HwIntrinsics.DisableSSE: - Assert.False(Sse.IsSupported); - break; - case HwIntrinsics.DisableSSE2: - Assert.False(Sse2.IsSupported); - break; - case HwIntrinsics.DisableAES: - Assert.False(Aes.IsSupported); - break; - case HwIntrinsics.DisablePCLMULQDQ: - Assert.False(Pclmulqdq.IsSupported); - break; - case HwIntrinsics.DisableSSE3: - Assert.False(Sse3.IsSupported); - break; - case HwIntrinsics.DisableSSSE3: - Assert.False(Ssse3.IsSupported); - break; - case HwIntrinsics.DisableSSE41: - Assert.False(Sse41.IsSupported); - break; - case HwIntrinsics.DisableSSE42: - Assert.False(Sse42.IsSupported); - break; - case HwIntrinsics.DisablePOPCNT: - Assert.False(Popcnt.IsSupported); - break; - case HwIntrinsics.DisableAVX: - Assert.False(Avx.IsSupported); - break; - case HwIntrinsics.DisableFMA: - Assert.False(Fma.IsSupported); - break; - case HwIntrinsics.DisableAVX2: - Assert.False(Avx2.IsSupported); - break; - case HwIntrinsics.DisableBMI1: - Assert.False(Bmi1.IsSupported); - break; - case HwIntrinsics.DisableBMI2: - Assert.False(Bmi2.IsSupported); - break; - case HwIntrinsics.DisableLZCNT: - Assert.False(Lzcnt.IsSupported); - break; -#endif - } - } - - foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) - { - FeatureTestRunner.RunWithHwIntrinsicsFeature(AssertHwIntrinsicsFeatureDisabled, intrinsic, new FakeSerializable()); - } - } + // [Fact] + // public void CanLimitHwIntrinsicFeaturesWithIntrinsicsParam() + // { + // static void AssertHwIntrinsicsFeatureDisabled(string intrinsic) + // { + // Assert.NotNull(intrinsic); + + // switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) + // { + // case HwIntrinsics.DisableSIMD: + // Assert.False(Vector.IsHardwareAccelerated); + // break; + //#if SUPPORTS_RUNTIME_INTRINSICS + // case HwIntrinsics.DisableHWIntrinsic: + // Assert.False(Vector.IsHardwareAccelerated); + // break; + // case HwIntrinsics.DisableSSE: + // Assert.False(Sse.IsSupported); + // break; + // case HwIntrinsics.DisableSSE2: + // Assert.False(Sse2.IsSupported); + // break; + // case HwIntrinsics.DisableAES: + // Assert.False(Aes.IsSupported); + // break; + // case HwIntrinsics.DisablePCLMULQDQ: + // Assert.False(Pclmulqdq.IsSupported); + // break; + // case HwIntrinsics.DisableSSE3: + // Assert.False(Sse3.IsSupported); + // break; + // case HwIntrinsics.DisableSSSE3: + // Assert.False(Ssse3.IsSupported); + // break; + // case HwIntrinsics.DisableSSE41: + // Assert.False(Sse41.IsSupported); + // break; + // case HwIntrinsics.DisableSSE42: + // Assert.False(Sse42.IsSupported); + // break; + // case HwIntrinsics.DisablePOPCNT: + // Assert.False(Popcnt.IsSupported); + // break; + // case HwIntrinsics.DisableAVX: + // Assert.False(Avx.IsSupported); + // break; + // case HwIntrinsics.DisableFMA: + // Assert.False(Fma.IsSupported); + // break; + // case HwIntrinsics.DisableAVX2: + // Assert.False(Avx2.IsSupported); + // break; + // case HwIntrinsics.DisableBMI1: + // Assert.False(Bmi1.IsSupported); + // break; + // case HwIntrinsics.DisableBMI2: + // Assert.False(Bmi2.IsSupported); + // break; + // case HwIntrinsics.DisableLZCNT: + // Assert.False(Lzcnt.IsSupported); + // break; + //#endif + // } + // } + + // foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) + // { + // FeatureTestRunner.RunWithHwIntrinsicsFeature(AssertHwIntrinsicsFeatureDisabled, intrinsic); + // } + // } + + // [Fact] + // public void CanLimitHwIntrinsicFeaturesWithSerializableParam() + // { + // static void AssertHwIntrinsicsFeatureDisabled(string serializable) + // { + // Assert.NotNull(serializable); + // Assert.NotNull(FeatureTestRunner.Deserialize(serializable)); + + //#if SUPPORTS_RUNTIME_INTRINSICS + // Assert.False(Sse.IsSupported); + //#endif + // } + + // foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) + // { + // FeatureTestRunner.RunWithHwIntrinsicsFeature( + // AssertHwIntrinsicsFeatureDisabled, + // HwIntrinsics.DisableSSE, + // new FakeSerializable()); + // } + // } + + // [Fact] + // public void CanLimitHwIntrinsicFeaturesWithSerializableAndIntrinsicsParams() + // { + // static void AssertHwIntrinsicsFeatureDisabled(string serializable, string intrinsic) + // { + // Assert.NotNull(serializable); + // Assert.NotNull(FeatureTestRunner.Deserialize(serializable)); + + // switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) + // { + // case HwIntrinsics.DisableSIMD: + // Assert.False(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)); + // break; + //#if SUPPORTS_RUNTIME_INTRINSICS + // case HwIntrinsics.DisableHWIntrinsic: + // Assert.False(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)); + // break; + // case HwIntrinsics.DisableSSE: + // Assert.False(Sse.IsSupported); + // break; + // case HwIntrinsics.DisableSSE2: + // Assert.False(Sse2.IsSupported); + // break; + // case HwIntrinsics.DisableAES: + // Assert.False(Aes.IsSupported); + // break; + // case HwIntrinsics.DisablePCLMULQDQ: + // Assert.False(Pclmulqdq.IsSupported); + // break; + // case HwIntrinsics.DisableSSE3: + // Assert.False(Sse3.IsSupported); + // break; + // case HwIntrinsics.DisableSSSE3: + // Assert.False(Ssse3.IsSupported); + // break; + // case HwIntrinsics.DisableSSE41: + // Assert.False(Sse41.IsSupported); + // break; + // case HwIntrinsics.DisableSSE42: + // Assert.False(Sse42.IsSupported); + // break; + // case HwIntrinsics.DisablePOPCNT: + // Assert.False(Popcnt.IsSupported); + // break; + // case HwIntrinsics.DisableAVX: + // Assert.False(Avx.IsSupported); + // break; + // case HwIntrinsics.DisableFMA: + // Assert.False(Fma.IsSupported); + // break; + // case HwIntrinsics.DisableAVX2: + // Assert.False(Avx2.IsSupported); + // break; + // case HwIntrinsics.DisableBMI1: + // Assert.False(Bmi1.IsSupported); + // break; + // case HwIntrinsics.DisableBMI2: + // Assert.False(Bmi2.IsSupported); + // break; + // case HwIntrinsics.DisableLZCNT: + // Assert.False(Lzcnt.IsSupported); + // break; + //#endif + // } + // } + + // foreach (HwIntrinsics intrinsic in (HwIntrinsics[])Enum.GetValues(typeof(HwIntrinsics))) + // { + // FeatureTestRunner.RunWithHwIntrinsicsFeature(AssertHwIntrinsicsFeatureDisabled, intrinsic, new FakeSerializable()); + // } + // } public class FakeSerializable : IXunitSerializable {