diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets
index af86f49b09..9c17881452 100644
--- a/tests/Directory.Build.targets
+++ b/tests/Directory.Build.targets
@@ -22,8 +22,8 @@
-
-
+
+
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
index 2351cbb917..4ab053a310 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Convolution/BokehBlurTest.cs
@@ -11,6 +11,7 @@
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Processors.Convolution;
using SixLabors.ImageSharp.Tests.TestUtilities;
+using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison;
using Xunit;
using Xunit.Abstractions;
@@ -154,8 +155,9 @@ public void BokehBlurFilterProcessor_WorksWithAllPixelTypes(TestImagePro
appendSourceFileOrDescription: false);
[Theory]
- [WithFileCollection(nameof(TestFiles), nameof(BokehBlurValues), PixelTypes.Rgba32)]
- public void BokehBlurFilterProcessor_Bounded(TestImageProvider provider, BokehBlurInfo value)
+ [WithFileCollection(nameof(TestFiles), nameof(BokehBlurValues), PixelTypes.Rgba32, HwIntrinsics.AllowAll)]
+ [WithFileCollection(nameof(TestFiles), nameof(BokehBlurValues), PixelTypes.Rgba32, HwIntrinsics.DisableSSE41)]
+ public void BokehBlurFilterProcessor_Bounded(TestImageProvider provider, BokehBlurInfo value, HwIntrinsics intrinsicsFilter)
{
static void RunTest(string arg1, string arg2)
{
@@ -173,12 +175,13 @@ static void RunTest(string arg1, string arg2)
x.BokehBlur(value.Radius, value.Components, value.Gamma, bounds);
},
testOutputDetails: value.ToString(),
+ ImageComparer.TolerantPercentage(0.05f),
appendPixelTypeToFileName: false);
}
FeatureTestRunner.RunWithHwIntrinsicsFeature(
RunTest,
- HwIntrinsics.DisableSSE41,
+ intrinsicsFilter,
provider,
value);
}
diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs
index 84b9297295..05f4f032bf 100644
--- a/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/Tests/TestEnvironmentTests.cs
@@ -3,7 +3,7 @@
using System;
using System.IO;
-
+using Microsoft.DotNet.RemoteExecutor;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Bmp;
using SixLabors.ImageSharp.Formats.Gif;
@@ -114,5 +114,20 @@ public void GetReferenceDecoder_ReturnsCorrectDecoders_Linux(string fileName, Ty
IImageDecoder decoder = TestEnvironment.GetReferenceDecoder(fileName);
Assert.IsType(expectedDecoderType, decoder);
}
+
+ // RemoteExecutor does not work with "dotnet xunit" used to run tests on 32 bit .NET Framework:
+ // https://github.com/SixLabors/ImageSharp/blob/381dff8640b721a34b1227c970fcf6ad6c5e3e72/ci-test.ps1#L30
+ public static bool IsNot32BitNetFramework = !TestEnvironment.IsFramework || TestEnvironment.Is64BitProcess;
+
+ [ConditionalFact(nameof(IsNot32BitNetFramework))]
+ public void RemoteExecutor_FailingRemoteTestShouldFailLocalTest()
+ {
+ static void FailingCode()
+ {
+ Assert.False(true);
+ }
+
+ Assert.ThrowsAny(() => RemoteExecutor.Invoke(FailingCode).Dispose());
+ }
}
}