From 4f9a5716e194e05c0f38610bd8f2c452383a3191 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sun, 26 Jan 2025 19:04:08 +0100 Subject: [PATCH 1/4] Rename MacOSX to OSX and introduce FreeBSD --- .../Attributes/TestMethod/OperatingSystems.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/TestFramework/TestFramework/Attributes/TestMethod/OperatingSystems.cs b/src/TestFramework/TestFramework/Attributes/TestMethod/OperatingSystems.cs index bc2c29e1d3..3ab8b6ca25 100644 --- a/src/TestFramework/TestFramework/Attributes/TestMethod/OperatingSystems.cs +++ b/src/TestFramework/TestFramework/Attributes/TestMethod/OperatingSystems.cs @@ -12,17 +12,20 @@ public enum OperatingSystems /// /// Represents the Linux operating system. /// - Linux = 1, - - // TODO: This is copied from aspnetcore repo. Should we name it MacOS instead? Or OSX? + Linux = 1 << 0, /// /// Representing the MacOS operating system. /// - MacOSX = 2, + OSX = 1 << 1, /// /// Represents the Windows operating system. /// - Windows = 4, + Windows = 1 << 2, + + /// + /// Represents the FreeBSD operating system. + /// + FreeBSD = 1 << 3, } From 6ba64ac852c3d25ff1d03ce92e58b07b55c82e57 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sun, 26 Jan 2025 19:05:05 +0100 Subject: [PATCH 2/4] Update OSConditionAttribute --- .../Attributes/TestMethod/OSConditionAttribute.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs b/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs index cbb7c5dff8..72873ffb91 100644 --- a/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs +++ b/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs @@ -48,7 +48,11 @@ public override bool ShouldRun } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - return (_operatingSystems & OperatingSystems.MacOSX) != 0; + return (_operatingSystems & OperatingSystems.OSX) != 0; + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.FreeBSD)) + { + return (_operatingSystems & OperatingSystems.FreeBSD) != 0; } return false; From 1433a728186d579d6e8dca0b13e1958ddb87b881 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sun, 26 Jan 2025 19:06:05 +0100 Subject: [PATCH 3/4] Update PublicAPI.Unshipped.txt --- .../TestFramework/PublicAPI/PublicAPI.Unshipped.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/TestFramework/TestFramework/PublicAPI/PublicAPI.Unshipped.txt b/src/TestFramework/TestFramework/PublicAPI/PublicAPI.Unshipped.txt index 5c88f25607..c38bca695f 100644 --- a/src/TestFramework/TestFramework/PublicAPI/PublicAPI.Unshipped.txt +++ b/src/TestFramework/TestFramework/PublicAPI/PublicAPI.Unshipped.txt @@ -249,8 +249,9 @@ Microsoft.VisualStudio.TestTools.UnitTesting.ITestDataSourceIgnoreCapability Microsoft.VisualStudio.TestTools.UnitTesting.ITestDataSourceIgnoreCapability.IgnoreMessage.get -> string? Microsoft.VisualStudio.TestTools.UnitTesting.ITestDataSourceIgnoreCapability.IgnoreMessage.set -> void Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems +Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems.FreeBSD = 8 -> Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems.Linux = 1 -> Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems -Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems.MacOSX = 2 -> Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems +Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems.OSX = 2 -> Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems.Windows = 4 -> Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems Microsoft.VisualStudio.TestTools.UnitTesting.OSConditionAttribute Microsoft.VisualStudio.TestTools.UnitTesting.OSConditionAttribute.OSConditionAttribute(Microsoft.VisualStudio.TestTools.UnitTesting.ConditionMode mode, Microsoft.VisualStudio.TestTools.UnitTesting.OperatingSystems operatingSystems) -> void From 6470289903bf0f18c1d628ad8dbe279bcb691ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Sun, 26 Jan 2025 20:01:16 +0100 Subject: [PATCH 4/4] Fix FreeBSD on netstandard --- .../Attributes/TestMethod/OSConditionAttribute.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs b/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs index 72873ffb91..9827332549 100644 --- a/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs +++ b/src/TestFramework/TestFramework/Attributes/TestMethod/OSConditionAttribute.cs @@ -12,6 +12,15 @@ namespace Microsoft.VisualStudio.TestTools.UnitTesting; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = false, AllowMultiple = false)] public sealed class OSConditionAttribute : ConditionBaseAttribute { +#if !NETFRAMEWORK + private static readonly OSPlatform FreeBSD = +#if NETSTANDARD + OSPlatform.Create("FreeBSD"); +#else + OSPlatform.FreeBSD; +#endif +#endif + private readonly OperatingSystems _operatingSystems; /// @@ -50,7 +59,7 @@ public override bool ShouldRun { return (_operatingSystems & OperatingSystems.OSX) != 0; } - else if (RuntimeInformation.IsOSPlatform(OSPlatform.FreeBSD)) + else if (RuntimeInformation.IsOSPlatform(FreeBSD)) { return (_operatingSystems & OperatingSystems.FreeBSD) != 0; }