diff --git a/src/libraries/System.Data.Common/tests/System/Data/Common/DbCommandTests.cs b/src/libraries/System.Data.Common/tests/System/Data/Common/DbCommandTests.cs index dc06d62ab8e79e..53f5de97e32019 100644 --- a/src/libraries/System.Data.Common/tests/System/Data/Common/DbCommandTests.cs +++ b/src/libraries/System.Data.Common/tests/System/Data/Common/DbCommandTests.cs @@ -153,8 +153,7 @@ protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior) } } - [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "GC has different behavior on Mono")] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] public void CanBeFinalized() { FinalizingCommand.CreateAndRelease(); diff --git a/src/libraries/System.Data.Common/tests/System/Data/Common/DbConnectionTests.cs b/src/libraries/System.Data.Common/tests/System/Data/Common/DbConnectionTests.cs index de8e954cf6d187..fd809e7101bf66 100644 --- a/src/libraries/System.Data.Common/tests/System/Data/Common/DbConnectionTests.cs +++ b/src/libraries/System.Data.Common/tests/System/Data/Common/DbConnectionTests.cs @@ -136,8 +136,7 @@ private class TestDbProviderFactory : DbProviderFactory public static DbProviderFactory Instance = new TestDbProviderFactory(); } - [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "GC has different behavior on Mono")] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] public void CanBeFinalized() { FinalizingConnection.CreateAndRelease(); diff --git a/src/libraries/System.Diagnostics.Process/tests/ProcessTests.cs b/src/libraries/System.Diagnostics.Process/tests/ProcessTests.cs index dd3aa9a0177a66..620dc8ac8a4164 100644 --- a/src/libraries/System.Diagnostics.Process/tests/ProcessTests.cs +++ b/src/libraries/System.Diagnostics.Process/tests/ProcessTests.cs @@ -1316,8 +1316,7 @@ public void StandardInput_GetNotRedirected_ThrowsInvalidOperationException() Assert.Throws(() => process.StandardInput); } - [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "GC has different behavior on Mono")] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] public void CanBeFinalized() { FinalizingProcess.CreateAndRelease(); diff --git a/src/libraries/System.Net.Ping/tests/FunctionalTests/PingTest.cs b/src/libraries/System.Net.Ping/tests/FunctionalTests/PingTest.cs index 6e7d15b22e756e..90b29a20157b49 100644 --- a/src/libraries/System.Net.Ping/tests/FunctionalTests/PingTest.cs +++ b/src/libraries/System.Net.Ping/tests/FunctionalTests/PingTest.cs @@ -773,8 +773,7 @@ private static async Task SendPingAsync(Func> sendPing, Ac pingResultValidator(pingResult); } - [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "GC has different behavior on Mono")] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] public void CanBeFinalized() { FinalizingPing.CreateAndRelease(); diff --git a/src/libraries/System.Net.Requests/tests/HttpWebRequestTest.cs b/src/libraries/System.Net.Requests/tests/HttpWebRequestTest.cs index 488356935b3ca1..8e989dd693d223 100644 --- a/src/libraries/System.Net.Requests/tests/HttpWebRequestTest.cs +++ b/src/libraries/System.Net.Requests/tests/HttpWebRequestTest.cs @@ -1148,7 +1148,6 @@ public void BeginGetRequestStream_CreatePostRequestThenAbort_ThrowsWebException( } [Theory, MemberData(nameof(EchoServers))] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "no exception thrown on mono")] public void BeginGetRequestStream_CreatePostRequestThenCallTwice_ThrowsInvalidOperationException(Uri remoteServer) { HttpWebRequest request = HttpWebRequest.CreateHttp(remoteServer); @@ -1715,7 +1714,6 @@ await LoopbackServer.CreateServerAsync((server, url) => } [ActiveIssue("https://github.com/dotnet/corefx/issues/19083")] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "https://github.com/dotnet/corefx/issues/19083")] [Fact] public async Task Abort_BeginGetRequestStreamThenAbort_EndGetRequestStreamThrowsWebException() { @@ -1737,7 +1735,6 @@ await LoopbackServer.CreateServerAsync((server, url) => }); } - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "ResponseCallback not called after Abort on mono")] [Fact] public async Task Abort_BeginGetResponseThenAbort_ResponseCallbackCalledBeforeAbortReturns() { diff --git a/src/libraries/System.Net.Requests/tests/LoggingTest.cs b/src/libraries/System.Net.Requests/tests/LoggingTest.cs index 16d7a81fa5eea3..3104e02b935086 100644 --- a/src/libraries/System.Net.Requests/tests/LoggingTest.cs +++ b/src/libraries/System.Net.Requests/tests/LoggingTest.cs @@ -10,7 +10,6 @@ namespace System.Net.Tests public class LoggingTest { [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "NetEventSource is only part of .NET Core.")] [SkipOnCoreClr("System.Net.Tests are flaky", RuntimeConfiguration.Checked)] public void EventSource_ExistsWithCorrectId() { diff --git a/src/libraries/System.Net.WebHeaderCollection/tests/LoggingTest.cs b/src/libraries/System.Net.WebHeaderCollection/tests/LoggingTest.cs index e71f4223b1c0af..e514ff1798c0c9 100644 --- a/src/libraries/System.Net.WebHeaderCollection/tests/LoggingTest.cs +++ b/src/libraries/System.Net.WebHeaderCollection/tests/LoggingTest.cs @@ -10,7 +10,6 @@ namespace System.Net.Tests public class WebHeaderCollectionLoggingTest { [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "NetEventSource is only part of .NET Core")] public void EventSource_ExistsWithCorrectId() { Type esType = typeof(WebHeaderCollection).Assembly.GetType("System.Net.NetEventSource", throwOnError: true, ignoreCase: false); diff --git a/src/libraries/System.Net.WebHeaderCollection/tests/WebHeaderCollectionTest.cs b/src/libraries/System.Net.WebHeaderCollection/tests/WebHeaderCollectionTest.cs index db88b6a83137ea..933917fe41369d 100644 --- a/src/libraries/System.Net.WebHeaderCollection/tests/WebHeaderCollectionTest.cs +++ b/src/libraries/System.Net.WebHeaderCollection/tests/WebHeaderCollectionTest.cs @@ -541,7 +541,6 @@ public void Add_InvalidHeader_ThrowsArgumentException(string header, string para private const string CookieInvalid = "helloWorld"; [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "Does not work in Mono")] public void GetValues_MultipleSetCookieHeadersWithExpiresAttribute_Success() { WebHeaderCollection w = new WebHeaderCollection(); @@ -559,7 +558,6 @@ public void GetValues_MultipleSetCookieHeadersWithExpiresAttribute_Success() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "Does not work in Mono")] public void GetValues_SingleSetCookieHeaderWithMultipleCookiesWithExpiresAttribute_Success() { WebHeaderCollection w = new WebHeaderCollection(); @@ -605,7 +603,6 @@ public void GetValues_SingleSetCookieHeaderWithMultipleCookiesWithNoAttribute_Su } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "Does not work in Mono")] public void GetValues_InvalidSetCookieHeader_Success() { WebHeaderCollection w = new WebHeaderCollection(); diff --git a/src/libraries/System.Threading.Thread/tests/ThreadTests.cs b/src/libraries/System.Threading.Thread/tests/ThreadTests.cs index b26f4e02669c51..156487c6e16048 100644 --- a/src/libraries/System.Threading.Thread/tests/ThreadTests.cs +++ b/src/libraries/System.Threading.Thread/tests/ThreadTests.cs @@ -321,7 +321,6 @@ public static void ApartmentStateTest_Unix( } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void CurrentCultureTest_DifferentThread() { CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone(); @@ -404,7 +403,6 @@ public static void CurrentCultureTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void CurrentPrincipalTest_SkipOnDesktopFramework() { ThreadTestHelpers.RunTestInBackgroundThread(() => Assert.Null(Thread.CurrentPrincipal)); @@ -460,7 +458,6 @@ await Task.Run(() => } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void CurrentPrincipalContextFlowTest_NotFlow() { ThreadTestHelpers.RunTestInBackgroundThread(async () => @@ -527,7 +524,6 @@ public static void CurrentThreadTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void ExecutionContextTest() { ThreadTestHelpers.RunTestInBackgroundThread( @@ -705,7 +701,6 @@ public static void ThreadStateTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void AbortSuspendTest() { var e = new ManualResetEvent(false); @@ -1079,7 +1074,6 @@ public static void StartTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void MiscellaneousTest() { Thread.BeginCriticalRegion(); diff --git a/src/libraries/System.Threading.ThreadPool/tests/ThreadPoolTests.cs b/src/libraries/System.Threading.ThreadPool/tests/ThreadPoolTests.cs index 5a16ca25169852..4a116c5c6cd633 100644 --- a/src/libraries/System.Threading.ThreadPool/tests/ThreadPoolTests.cs +++ b/src/libraries/System.Threading.ThreadPool/tests/ThreadPoolTests.cs @@ -149,7 +149,6 @@ public static void SetMinMaxThreadsTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void SetMinMaxThreadsTest_ChangedInDotNetCore() { int minw, minc, maxw, maxc; diff --git a/src/libraries/System.Threading/tests/ExecutionContextTests.cs b/src/libraries/System.Threading/tests/ExecutionContextTests.cs index 20204cd459ab54..cee4de2ab94572 100644 --- a/src/libraries/System.Threading/tests/ExecutionContextTests.cs +++ b/src/libraries/System.Threading/tests/ExecutionContextTests.cs @@ -147,7 +147,6 @@ public static void FlowTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void CaptureThenSuppressThenRunFlowTest() { ThreadTestHelpers.RunTestInBackgroundThread(() => diff --git a/src/libraries/System.Threading/tests/SynchronizationContextTests.cs b/src/libraries/System.Threading/tests/SynchronizationContextTests.cs index 4d2420fc7c6471..a972878c77b718 100644 --- a/src/libraries/System.Threading/tests/SynchronizationContextTests.cs +++ b/src/libraries/System.Threading/tests/SynchronizationContextTests.cs @@ -10,7 +10,6 @@ namespace System.Threading.Tests public static class SynchronizationContextTests { [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "SynchronizationContext.Wait(IntPtr[], bool, int) is not implemented on Mono")] public static void WaitTest() { var tsc = new TestSynchronizationContext(); @@ -37,14 +36,13 @@ public static void WaitTest() } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)] public static void WaitTest_ChangedInDotNetCore() { Assert.Throws(() => TestSynchronizationContext.WaitHelper(null, false, 0)); } [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "https://bugzilla.xamarin.com/show_bug.cgi?id=60568")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/31977", TargetFrameworkMonikers.Mono)] public static void WaitNotificationTest() { ThreadTestHelpers.RunTestInBackgroundThread(() => diff --git a/src/libraries/System.Threading/tests/ThreadLocalTests.cs b/src/libraries/System.Threading/tests/ThreadLocalTests.cs index 2fa164556e5f87..58b56aecc8c0a7 100644 --- a/src/libraries/System.Threading/tests/ThreadLocalTests.cs +++ b/src/libraries/System.Threading/tests/ThreadLocalTests.cs @@ -315,8 +315,7 @@ private static void RunThreadLocalTest8Helper(ManualResetEventSlim mres) Assert.Throws(() => values = tl.Values); } - [Fact] - [SkipOnTargetFramework(TargetFrameworkMonikers.Mono, "This test requires precise stack scanning")] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] public static void RunThreadLocalTest8_Values_NegativeCases() { // Test that Dispose works and that objects are released on dispose