From a7122f3a2450a512323f526cace4f9a0001c2169 Mon Sep 17 00:00:00 2001 From: Eli Belash Date: Sun, 8 Feb 2026 14:25:39 +0200 Subject: [PATCH] Skip Bitmap tests on non-Windows platforms System.Drawing.Common requires GDI+ which is only available on Windows since .NET 6. Add [ClassInitialize] with OperatingSystem.IsWindows() check to all three Bitmap test classes so they report as Inconclusive (skipped) on Linux/macOS CI runners instead of failing with PlatformNotSupportedException. --- .../NumSharp.Bitmap/BitmapExtensionsTests.cs | 7 +++++++ .../NumSharp.Bitmap/BitmapWithAlphaTests.cs | 10 +++++++++- test/NumSharp.UnitTest/OpenBugs.Bitmap.cs | 7 +++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapExtensionsTests.cs b/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapExtensionsTests.cs index ea92f70f4..25458b549 100644 --- a/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapExtensionsTests.cs +++ b/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapExtensionsTests.cs @@ -10,6 +10,13 @@ namespace NumSharp.UnitTest [TestClass] public class BitmapExtensionsTests : TestClass { + [ClassInitialize] + public static void RequireWindows(TestContext _) + { + if (!OperatingSystem.IsWindows()) + Assert.Inconclusive("System.Drawing.Common requires Windows (GDI+)."); + } + // ================================================================ // Bugs discovered during test coverage expansion: // diff --git a/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapWithAlphaTests.cs b/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapWithAlphaTests.cs index f95c2cd1e..689f9ec8e 100644 --- a/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapWithAlphaTests.cs +++ b/test/NumSharp.UnitTest/NumSharp.Bitmap/BitmapWithAlphaTests.cs @@ -1,4 +1,5 @@ -using System.Drawing.Imaging; +using System; +using System.Drawing.Imaging; using System.Resources; using FluentAssertions; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -9,6 +10,13 @@ namespace NumSharp.UnitTest [TestClass] public class BitmapWithAlphaTests : TestClass { + [ClassInitialize] + public static void RequireWindows(TestContext _) + { + if (!OperatingSystem.IsWindows()) + Assert.Inconclusive("System.Drawing.Common requires Windows (GDI+)."); + } + [TestMethod] public void ToNDArray_Case1() { diff --git a/test/NumSharp.UnitTest/OpenBugs.Bitmap.cs b/test/NumSharp.UnitTest/OpenBugs.Bitmap.cs index 227409656..0a5d25b6d 100644 --- a/test/NumSharp.UnitTest/OpenBugs.Bitmap.cs +++ b/test/NumSharp.UnitTest/OpenBugs.Bitmap.cs @@ -57,6 +57,13 @@ namespace NumSharp.UnitTest [TestClass] public class OpenBugsBitmap : TestClass { + [ClassInitialize] + public static void RequireWindows(TestContext _) + { + if (!OperatingSystem.IsWindows()) + Assert.Inconclusive("System.Drawing.Common requires Windows (GDI+)."); + } + // ================================================================ // // BUG 1: ToNDArray(copy:true) on odd-width 24bpp images produces