From ddd05948e17f07fdecc5ee102c6aa6c3d26c67ff Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Mon, 10 Mar 2025 08:56:23 +0100 Subject: [PATCH 1/9] migrate apple mobile jobs to osx.15 queue --- eng/pipelines/coreclr/templates/helix-queues-setup.yml | 4 ++-- eng/pipelines/libraries/helix-queues-setup.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 815f297ff3060f..1be588c3797e70 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -34,11 +34,11 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.1200.Arm64.Open + - OSX.15.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: - - OSX.1200.Amd64.Open + - OSX.15.Amd64.Open # Android arm64 - ${{ if in(parameters.platform, 'android_arm64') }}: diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index d6c83bd12137da..659ed0f0efeb37 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -99,11 +99,11 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.1200.Arm64.Open + - OSX.15.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: - - OSX.1200.Amd64.Open + - OSX.15.Amd64.Open # iOS devices - ${{ if in(parameters.platform, 'ios_arm64') }}: From b567bdbd357dfc49bf24d13d9182ecdbef951ac7 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Mon, 17 Mar 2025 17:14:47 +0000 Subject: [PATCH 2/9] use osx 14 for arm64 and enable simulators --- .../coreclr/templates/helix-queues-setup.yml | 2 +- .../runtime-extra-platforms-ioslikesimulator.yml | 12 +++--------- eng/pipelines/libraries/helix-queues-setup.yml | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 1be588c3797e70..9ccad909568543 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -34,7 +34,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.15.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 7ce0a0c3568aac..75ad650c119d74 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -25,9 +25,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -61,9 +59,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource @@ -109,9 +105,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 659ed0f0efeb37..b94b108d03f6b8 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -99,7 +99,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.15.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: From c8c5adaa722f342c95fa7055ef7aca0514d37db2 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Tue, 1 Apr 2025 09:37:50 +0100 Subject: [PATCH 3/9] Revert "use osx 14 for arm64 and enable simulators" This reverts commit 8156e31d1348c5fa1edc4d4f8368162df30a1dbd. --- .../coreclr/templates/helix-queues-setup.yml | 2 +- .../runtime-extra-platforms-ioslikesimulator.yml | 12 +++++++++--- eng/pipelines/libraries/helix-queues-setup.yml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 9ccad909568543..1be588c3797e70 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -34,7 +34,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.14.Arm64.Open + - OSX.15.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 75ad650c119d74..7ce0a0c3568aac 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -25,7 +25,9 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - - iossimulator_arm64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - iossimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -59,7 +61,9 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - - iossimulator_arm64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource @@ -105,7 +109,9 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - - iossimulator_arm64 + # don't run tests on arm64 PRs until we can get significantly more devices + - ${{ if eq(variables['isRollingBuild'], true) }}: + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index b94b108d03f6b8..659ed0f0efeb37 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -99,7 +99,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.14.Arm64.Open + - OSX.15.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: From a511344853d3dbf7e4f5515f6da32e98609e9df3 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Tue, 1 Apr 2025 09:41:54 +0100 Subject: [PATCH 4/9] use osx.14.arm64 queues --- eng/pipelines/coreclr/templates/helix-queues-setup.yml | 2 +- eng/pipelines/libraries/helix-queues-setup.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 1be588c3797e70..9ccad909568543 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -34,7 +34,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.15.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 659ed0f0efeb37..b94b108d03f6b8 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -99,7 +99,7 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.15.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: From 0d6ab29a52eaea14a5aa84b097ee2675bf516a95 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Tue, 8 Apr 2025 19:41:36 +0100 Subject: [PATCH 5/9] enable arm64 simulators and maccatalyst on PRs --- .../runtime-extra-platforms-ioslikesimulator.yml | 12 +++--------- eng/pipelines/runtime.yml | 3 +-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 7ce0a0c3568aac..75ad650c119d74 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -25,9 +25,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -61,9 +59,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource @@ -109,9 +105,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 1e7170566df361..4a1010323440f3 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1086,8 +1086,7 @@ extends: runtimeFlavor: mono platforms: - maccatalyst_x64 - - ${{ if eq(variables['isRollingBuild'], true) }}: - - maccatalyst_arm64 + - maccatalyst_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange From bc8c9dc2a1990c907b984edda44ae8563fb7d5f1 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Tue, 8 Apr 2025 19:41:56 +0100 Subject: [PATCH 6/9] dis MulticastInterface_Set_AnyInterface_Succeeds --- .../tests/FunctionalTests/SocketOptionNameTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs index 26752dd31f5dcb..2d7139a05803cb 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs @@ -67,6 +67,7 @@ public void MulticastOption_CreateSocketSetGetOption_GroupAndInterfaceIndex_SetS [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoNorServerCore))] // Skip on Nano: https://github.com/dotnet/runtime/issues/26286 [ActiveIssue("https://github.com/dotnet/runtime/issues/104547", typeof(PlatformDetection), nameof(PlatformDetection.IsQemuLinux))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/113827", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile))] public async Task MulticastInterface_Set_AnyInterface_Succeeds() { // On all platforms, index 0 means "any interface" From cdf5087990b869ca1fdd93ff5443b5b904e0df43 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Tue, 8 Apr 2025 20:46:54 +0100 Subject: [PATCH 7/9] disable IO tests causing timeouts and crashes --- .../System/IO/IsolatedStorage/RemoveTests.cs | 13 ++++-- .../tests/MemoryMappedViewAccessor.Tests.cs | 44 ++++++++++++------- .../tests/MemoryMappedViewStream.Tests.cs | 44 ++++++++++++------- 3 files changed, 63 insertions(+), 38 deletions(-) diff --git a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs index ed0e72a6f53304..ea3b27fcf68243 100644 --- a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs +++ b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs @@ -7,7 +7,8 @@ namespace System.IO.IsolatedStorage { public class RemoveTests : IsoStorageTest { - [Fact] + [ConditionalFact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForApplication() { TestHelper.WipeStores(); @@ -22,7 +23,8 @@ public void RemoveUserStoreForApplication() } } - [Fact] + [ConditionalFact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForAssembly() { TestHelper.WipeStores(); @@ -37,7 +39,8 @@ public void RemoveUserStoreForAssembly() } } - [Fact] + [ConditionalFact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForDomain() { TestHelper.WipeStores(); @@ -54,7 +57,9 @@ public void RemoveUserStoreForDomain() } } - [Theory, MemberData(nameof(ValidStores))] + [ConditionalTheory] + [MemberData(nameof(ValidStores))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveStoreWithContent(PresetScopes scope) { TestHelper.WipeStores(); diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs index 6747758c7b5330..b7c9175b5c97be 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Win32.SafeHandles; +using System.Collections.Generic; using System.Runtime.CompilerServices; using Microsoft.DotNet.XUnitExtensions; using Xunit; @@ -56,24 +57,33 @@ public void InvalidArguments() } } + public static IEnumerable AccessLevelCombinationsData() + { + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute }; + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite }; + if (PlatformDetection.IsNotMacCatalyst) + { + // https://github.com/dotnet/runtime/issues/114403 + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute }; + } + yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite }; + } + [ConditionalTheory] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute)] - [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite)] + [MemberData(nameof(AccessLevelCombinationsData))] public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess) { const int Capacity = 4096; diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index f279b8c33f98f7..d10b6ec7408379 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Win32.SafeHandles; +using System.Collections.Generic; using System.Runtime.CompilerServices; using Microsoft.DotNet.XUnitExtensions; using Xunit; @@ -56,24 +57,33 @@ public void InvalidArguments() } } + public static IEnumerable AccessLevelCombinationsData() + { + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute }; + yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute }; + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite }; + if (PlatformDetection.IsNotMacCatalyst) + { + // https://github.com/dotnet/runtime/issues/114403 + yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute }; + } + yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite }; + yield return new object[] { MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite }; + yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read }; + yield return new object[] { MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite }; + } + [ConditionalTheory] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.Write)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWrite)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadExecute)] - [InlineData(MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute)] - [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.Write)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWrite)] - [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.CopyOnWrite)] - [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.Read)] - [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.CopyOnWrite)] + [MemberData(nameof(AccessLevelCombinationsData))] public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess) { const int Capacity = 4096; From 6ff6938e3ecac33fbfb982e7f1b867b430ab0ab5 Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Wed, 9 Apr 2025 18:15:59 +0100 Subject: [PATCH 8/9] dis Datagram_UDP_AccessDenied_Throws_DoesNotBind --- .../tests/System/IO/IsolatedStorage/RemoveTests.cs | 8 ++++---- .../System.Net.Sockets/tests/FunctionalTests/SendTo.cs | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs index ea3b27fcf68243..f2b9e37f31a909 100644 --- a/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs +++ b/src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/RemoveTests.cs @@ -7,7 +7,7 @@ namespace System.IO.IsolatedStorage { public class RemoveTests : IsoStorageTest { - [ConditionalFact] + [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForApplication() { @@ -23,7 +23,7 @@ public void RemoveUserStoreForApplication() } } - [ConditionalFact] + [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForAssembly() { @@ -39,7 +39,7 @@ public void RemoveUserStoreForAssembly() } } - [ConditionalFact] + [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveUserStoreForDomain() { @@ -57,7 +57,7 @@ public void RemoveUserStoreForDomain() } } - [ConditionalTheory] + [Theory] [MemberData(nameof(ValidStores))] [ActiveIssue("https://github.com/dotnet/runtime/issues/114403", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst))] public void RemoveStoreWithContent(PresetScopes scope) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SendTo.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SendTo.cs index 7a3c33b64bf796..0b01469e574e91 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SendTo.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SendTo.cs @@ -95,6 +95,7 @@ public async Task Datagram_UDP_ShouldImplicitlyBindLocalEndpoint() [Fact] [SkipOnPlatform(TestPlatforms.FreeBSD, "FreeBSD allows sendto() to broadcast")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/114450", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst), nameof(PlatformDetection.IsX64Process))] public async Task Datagram_UDP_AccessDenied_Throws_DoesNotBind() { IPEndPoint invalidEndpoint = new IPEndPoint(IPAddress.Broadcast, 1234); From 42bdb9ba47fcc2064b8928b92ea7f2f796f0a56f Mon Sep 17 00:00:00 2001 From: Matous Kozak Date: Thu, 10 Apr 2025 17:38:18 +0100 Subject: [PATCH 9/9] move comment above if statement --- .../tests/MemoryMappedViewAccessor.Tests.cs | 2 +- .../tests/MemoryMappedViewStream.Tests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs index b7c9175b5c97be..3b78641a006839 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs @@ -67,9 +67,9 @@ public static IEnumerable AccessLevelCombinationsData() yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute }; yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read }; yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite }; + // https://github.com/dotnet/runtime/issues/114403 if (PlatformDetection.IsNotMacCatalyst) { - // https://github.com/dotnet/runtime/issues/114403 yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute }; } yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read }; diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index d10b6ec7408379..cd1af097e216f4 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -67,9 +67,9 @@ public static IEnumerable AccessLevelCombinationsData() yield return new object[] { MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileAccess.ReadWriteExecute }; yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.Read }; yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.CopyOnWrite }; + // https://github.com/dotnet/runtime/issues/114403 if (PlatformDetection.IsNotMacCatalyst) { - // https://github.com/dotnet/runtime/issues/114403 yield return new object[] { MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadExecute }; } yield return new object[] { MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.Read };