diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml index 9b400f09b0bf8a..fcfec1ceab3141 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml @@ -206,9 +206,9 @@ jobs: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml parameters: creator: dotnet-bot - testBuildArgs: tree baseservices /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=false + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) - extraHelixArguments: /p:NeedsToBuildAppsOnHelix=false + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true # # Build the whole product using CoreCLR R2R and run library tests @@ -234,12 +234,13 @@ jobs: value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'] ] jobParameters: testGroup: innerloop - nameSuffix: AllSubsets_CoreCLR_Smoke - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true - timeoutInMinutes: 120 + nameSuffix: AllSubsets_CoreCLR + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:EnableAggressiveTrimming=true + timeoutInMinutes: 240 # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml parameters: creator: dotnet-bot testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 6a55be22171566..b65d86ce4083ad 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -174,12 +174,12 @@ jobs: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml parameters: creator: dotnet-bot - testBuildArgs: tree baseservices /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=false + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) - extraHelixArguments: /p:NeedsToBuildAppsOnHelix=false + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true # -# Build the whole product using CoreCLR R2R and run library tests +# Build the whole product using CoreCLR R2R and run libraries tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -203,12 +203,13 @@ jobs: value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'] ] jobParameters: testGroup: innerloop - nameSuffix: AllSubsets_CoreCLR_Smoke - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true - timeoutInMinutes: 120 + nameSuffix: AllSubsets_CoreCLR + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true + timeoutInMinutes: 240 # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml parameters: creator: dotnet-bot testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml index 233f0788532667..783986f13a73e6 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml @@ -216,7 +216,8 @@ jobs: isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }} platforms: - # - maccatalyst_x64 TODO: https://github.com/dotnet/runtime/issues/120055 + # Tracking issue: https://github.com/dotnet/runtime/issues/124344 + # - maccatalyst_x64 - maccatalyst_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: @@ -243,11 +244,12 @@ jobs: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml parameters: creator: dotnet-bot - testBuildArgs: tree baseservices /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=false + testBuildArgs: /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true # -# Build the whole product using CoreCLR R2R and run library tests +# Build the whole product using CoreCLR R2R and run libraries tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -258,7 +260,8 @@ jobs: isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} isMacCatalystOnlyBuild: ${{ parameters.isMacCatalystOnlyBuild }} platforms: - # - maccatalyst_x64 TODO: https://github.com/dotnet/runtime/issues/120055 + # Tracking issue: https://github.com/dotnet/runtime/issues/124344 + # - maccatalyst_x64 - maccatalyst_arm64 variables: # map dependencies variables to local variables @@ -271,11 +274,12 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR_Smoke - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true - timeoutInMinutes: 120 + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:BuildTestsOnHelix=true + timeoutInMinutes: 240 # extra steps, run tests postBuildSteps: - template: /eng/pipelines/libraries/helix.yml parameters: creator: dotnet-bot testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 301e1a5186f332..15db2cb8fa156f 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1083,7 +1083,7 @@ extends: eq(variables['isRollingBuild'], true)) # - # Build the whole product using CoreCLR and run functional tests + # Build the whole product using CoreCLR and run libraries tests # - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -1105,7 +1105,7 @@ extends: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_CoreCLR_Smoke - buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:BuildTestsOnHelix=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true + buildArgs: -s clr+clr.runtime+libs+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=false /p:UseMonoRuntime=false /p:MonoForceInterpreter=false /p:UseNativeAOTRuntime=false /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=false timeoutInMinutes: 120 condition: >- or( @@ -1119,6 +1119,7 @@ extends: parameters: creator: dotnet-bot testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true condition: >- or( eq(variables['librariesContainsChange'], true), diff --git a/eng/testing/tests.ioslike.targets b/eng/testing/tests.ioslike.targets index 0f3302bae3ce2b..5db2b02f21b3b0 100644 --- a/eng/testing/tests.ioslike.targets +++ b/eng/testing/tests.ioslike.targets @@ -16,8 +16,10 @@ <_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) - <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=$(UsePortableRuntimePack) /p:Configuration=$(Configuration) + <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:UseMonoRuntime=$(UseMonoRuntime) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=$(UsePortableRuntimePack) /p:Configuration=$(Configuration) <_AOTBuildCommand Condition="'$(NativeLib)' != ''">$(_AOTBuildCommand) /p:NativeLib=$(NativeLib) /p:BundlesResources=$(BundlesResources) /p:ForceLibraryModeGenerateAppBundle=$(ForceLibraryModeGenerateAppBundle) + + <_AOTBuildCommand Condition="'$(UseMonoRuntime)' != 'true' and '$(UseNativeAOTRuntime)' != 'true'">$(_AOTBuildCommand) /p:PublishReadyToRun=true /p:PublishReadyToRunComposite=true /p:PublishReadyToRunContainerFormat=macho /p:StripSymbols=true <_AOTBuildCommand>$(_AOTBuildCommand) <_ResetSimulatorSwitch Condition="('$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator') and '$(IncludesTestRunner)' == 'true'">--reset-simulator @@ -38,10 +40,8 @@ $(_AOTBuildCommand) $(_AfterBuildCommands) - - + + @@ -132,6 +132,7 @@ <_ApplePropertyNames Include="UseConsoleUITemplate" /> <_ApplePropertyNames Include="UseRuntimeComponents" /> <_ApplePropertyNames Include="_NetCoreAppToolCurrent" /> + <_ApplePropertyNames Include="DynamicCodeSupport" /> <_ApplePropertyNames Include="HybridGlobalization" /> diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index b5e2692bc45fa9..9d1123f03863b0 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -38,7 +38,8 @@ - + + false <_DefaultValueAttributeSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true <_DesignerHostSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 6579ff2f0ba884..c3b67492c40d45 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -6,8 +6,9 @@ and '$(UseNativeAOTRuntime)' != 'true' and '$(TargetOS)' != 'browser' and '$(TargetOS)' != 'wasi' - and '$(RuntimeFlavor)' != 'Mono' + and '$(TargetOS)' != 'android' and '$(TargetsAppleMobile)' != 'true' + and '$(RuntimeFlavor)' != 'Mono' and '$(UseRuntimeAsync)' != 'false'"> true $(Features);runtime-async=on diff --git a/src/libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs b/src/libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs index fe5efa9f1356e2..15514263abea49 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs @@ -2374,7 +2374,7 @@ public void ComplexObj_As_Enumerable_Element() #if !BUILDING_SOURCE_GENERATOR_TESTS [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotBrowser))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public void TraceSwitchTest() { var dic = new Dictionary @@ -2404,7 +2404,7 @@ private void ValidateGeolocation(IGeolocation location) [Fact] #if !BUILDING_SOURCE_GENERATOR_TESTS [ActiveIssue("Investigate Build browser-wasm linux Release LibraryTests_EAT CI failure for reflection impl", TestPlatforms.Browser)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] #endif public void TestGraphWithUnsupportedMember() { diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.cs b/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.cs index 8ea5551b760f58..a5ee77da175fce 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.cs +++ b/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompilationLibraryTests.cs @@ -15,6 +15,7 @@ public class CompilationLibraryTests { // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void ResolveReferencePathsAcceptsCustomResolvers() { var fail = new Mock(); diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.cs b/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.cs index b694513cc4d510..647d060468487e 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.cs +++ b/src/libraries/Microsoft.Extensions.DependencyModel/tests/CompositeResolverTests.cs @@ -16,6 +16,7 @@ public class CompositeResolverTests { // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void ReturnsFirstSuccessfulResolve() { var fail = new Mock(); @@ -47,6 +48,7 @@ public void ReturnsFirstSuccessfulResolve() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void PassesLibraryToAllResolvers() { var fail = new Mock(); @@ -68,6 +70,7 @@ public void PassesLibraryToAllResolvers() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void PopulatedAssemblies() { var fail = new Mock(); diff --git a/src/libraries/Microsoft.VisualBasic.Core/tests/ErrObjectTests.cs b/src/libraries/Microsoft.VisualBasic.Core/tests/ErrObjectTests.cs index 61a1f8c4b66fbd..1d11cfa92aedb2 100644 --- a/src/libraries/Microsoft.VisualBasic.Core/tests/ErrObjectTests.cs +++ b/src/libraries/Microsoft.VisualBasic.Core/tests/ErrObjectTests.cs @@ -12,6 +12,7 @@ public class ErrObjectTests [Fact] [ActiveIssue("https://github.com/mono/mono/issues/14854", typeof(PlatformDetection), nameof(PlatformDetection.IsSingleFile))] [ActiveIssue("https://github.com/mono/mono/issues/14854", TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void Clear() { ProjectData.ClearProjectError(); diff --git a/src/libraries/Microsoft.VisualBasic.Core/tests/NewLateBindingTests.cs b/src/libraries/Microsoft.VisualBasic.Core/tests/NewLateBindingTests.cs index 956362d2383052..ab6dafc1aee5fd 100644 --- a/src/libraries/Microsoft.VisualBasic.Core/tests/NewLateBindingTests.cs +++ b/src/libraries/Microsoft.VisualBasic.Core/tests/NewLateBindingTests.cs @@ -96,7 +96,7 @@ public static IEnumerable LateCall_OptionalValues_Data() [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [ActiveIssue("https://github.com/dotnet/runtime/issues/51834", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsBrowser))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/51834", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/51834", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] [MemberData(nameof(LateCall_OptionalValues_Data))] public void LateCall_OptionalValues(string memberName, object[] arguments, Type[] typeArguments, string expectedValue) { diff --git a/src/libraries/System.Collections/tests/BitArray/BitArray_CtorTests.cs b/src/libraries/System.Collections/tests/BitArray/BitArray_CtorTests.cs index 199b44cd04aa86..1239e9c201c92f 100644 --- a/src/libraries/System.Collections/tests/BitArray/BitArray_CtorTests.cs +++ b/src/libraries/System.Collections/tests/BitArray/BitArray_CtorTests.cs @@ -271,6 +271,7 @@ public static void Ctor_Simple_Method_Tests() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void Clone_LongLength_Works() { BitArray bitArray = new BitArray(int.MaxValue - 30); diff --git a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs index 6de3301b4f018c..4647ec61cd9991 100644 --- a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs +++ b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs @@ -36,7 +36,7 @@ public class XmlDataReaderTest { [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/51369", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsBrowser))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/51369", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/51369", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public void XmlLoadTest() { var ds = new DataSet(); diff --git a/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj b/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj index fa358a2a90893b..c73b220453bdf1 100644 --- a/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj +++ b/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj @@ -41,14 +41,14 @@ - - + Content PreserveNewest - + diff --git a/src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.cs b/src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.cs index 20859c512b58be..98bfd84ffb5ba8 100644 --- a/src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.cs +++ b/src/libraries/System.Diagnostics.StackTrace/tests/DiagnosticMethodInfoTests.cs @@ -23,7 +23,7 @@ public void Create_Null() public static IEnumerable Create_OpenDelegate_TestData() { // Tracked at https://github.com/dotnet/runtime/issues/100748 - bool hasGvmOpenDelegateBug = !PlatformDetection.IsMonoRuntime && !PlatformDetection.IsNativeAot; + bool hasGvmOpenDelegateBug = !PlatformDetection.IsMonoRuntime && !PlatformDetection.IsNativeAot && !PlatformDetection.IsAppleMobile; const string TestNamespace = nameof(System) + "." + nameof(System.Diagnostics) + "." + nameof(System.Diagnostics.Tests) + "."; diff --git a/src/libraries/System.Diagnostics.StackTrace/tests/StackFrameTests.cs b/src/libraries/System.Diagnostics.StackTrace/tests/StackFrameTests.cs index c1476ae2cf60df..02689dede3a119 100644 --- a/src/libraries/System.Diagnostics.StackTrace/tests/StackFrameTests.cs +++ b/src/libraries/System.Diagnostics.StackTrace/tests/StackFrameTests.cs @@ -37,6 +37,7 @@ public void Ctor_FNeedFileInfo(bool fNeedFileInfo) [Theory] [ActiveIssue("https://github.com/mono/mono/issues/15187", TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile))] [InlineData(StackFrame.OFFSET_UNKNOWN, true)] [InlineData(0, true)] [InlineData(1, true)] diff --git a/src/libraries/System.Linq.Queryable/tests/TrimCompatibilityTests.cs b/src/libraries/System.Linq.Queryable/tests/TrimCompatibilityTests.cs index 89021695eb35d3..7f02e74f23298e 100644 --- a/src/libraries/System.Linq.Queryable/tests/TrimCompatibilityTests.cs +++ b/src/libraries/System.Linq.Queryable/tests/TrimCompatibilityTests.cs @@ -17,7 +17,7 @@ public class TrimCompatibilityTests /// [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/50712", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsBrowser))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/50712", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/50712", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public static void QueryableMethodsContainCorrectDynamicDependency() { IEnumerable dependentMethods = diff --git a/src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.cs b/src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.cs index e1e04b78853257..b802e29bb46435 100644 --- a/src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.cs +++ b/src/libraries/System.Numerics.Tensors/tests/TensorPrimitives.Generic.cs @@ -570,6 +570,7 @@ public void SpanDestinationFunctions_SpecialValues(SpanDestinationDelegate tenso } [Theory] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [MemberData(nameof(SpanDestinationFunctionsToTest))] public void SpanDestinationFunctions_ValueRange(SpanDestinationDelegate tensorPrimitivesMethod, Func expectedMethod, T? tolerance = null) { diff --git a/src/libraries/System.ObjectModel/tests/ObservableCollection/ObservableCollection_Serialization.cs b/src/libraries/System.ObjectModel/tests/ObservableCollection/ObservableCollection_Serialization.cs index 22179a67a5129a..c3b3a228286149 100644 --- a/src/libraries/System.ObjectModel/tests/ObservableCollection/ObservableCollection_Serialization.cs +++ b/src/libraries/System.ObjectModel/tests/ObservableCollection/ObservableCollection_Serialization.cs @@ -28,7 +28,7 @@ public void SerializeDeserialize_Roundtrips(ObservableCollection c) [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/57588", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsBrowser))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/57588", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/57588", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public void OnDeserialized_MonitorNotInitialized_ExpectSuccess() { var observableCollection = new ObservableCollection(); diff --git a/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.cs b/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.cs index 479c514497be50..ae95f7c15d7569 100644 --- a/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.cs +++ b/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.cs @@ -11,6 +11,7 @@ public partial class CharCheckingReaderTest : CGenericTestModule { [Theory] [XmlTests(nameof(Create))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void RunTests(XunitTestCase testCase) { testCase.Run(); diff --git a/src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs b/src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs index a7cbbaf1cf7d90..f380861196348f 100644 --- a/src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs +++ b/src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs @@ -1276,7 +1276,7 @@ public static void Xml_XsdTime_With_TimeOnly_And_DateTime(string dateTimeString, // Use the latter approach here. var ignoreUtc = AppContext.TryGetSwitch("Switch.System.Xml.IgnoreKindInUtcTimeSerialization", out bool isEnabled) && isEnabled; - DateTime testTime = DateTime.SpecifyKind(DateTime.Parse(dateTimeString), kind); + DateTime testTime = DateTime.SpecifyKind(DateTime.Parse(dateTimeString), kind); Assert.Equal(kind, testTime.Kind); // Verify TimeOnly -> DateTime @@ -2569,6 +2569,7 @@ public static void Xml_TypeWithSpecialCharacterInStringMember() #endif [ActiveIssue("https://github.com/dotnet/runtime/issues/34072", TestRuntimes.Mono)] [ActiveIssue("https://github.com/dotnet/runtime/issues/95928", typeof(PlatformDetection), nameof(PlatformDetection.IsReadyToRunCompiled))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void Xml_TypeInCollectibleALC() { ExecuteAndUnload("SerializableAssembly.dll", "SerializationTypes.SimpleType", out var weakRef); @@ -3078,7 +3079,7 @@ private static void ClearCachedSwitch(string name) Assert.NotNull(fi); fi.SetValue(null, 0); } - + private static string GuessCachedName(string name) { // Switch names are typically of the form "Switch.System.Xml.SomeFeature" diff --git a/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.cs b/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.cs index b697f7fadab38d..0b7055dc65a04e 100644 --- a/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.cs +++ b/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/CustomAttributeDecoderTests.cs @@ -86,6 +86,7 @@ public void TestCustomAttributeDecoder() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasAssemblyFiles))] [ActiveIssue("https://github.com/dotnet/runtime/issues/73593", TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void TestCustomAttributeDecoderUsingReflection() { Type type = typeof(HasAttributes); @@ -114,7 +115,7 @@ public void TestCustomAttributeDecoderUsingReflection() Type t = reflectionAttribute.ConstructorArguments[j].ArgumentType; Assert.Equal(TypeToString(t), arguments.Type); if (t.IsArray && arguments.Value is not null) - { + { ImmutableArray> array = (ImmutableArray>)(arguments.Value); IList refArray = (IList)reflectionAttribute.ConstructorArguments[j].Value; int k = 0; @@ -378,7 +379,7 @@ public GenericAttribute2(K key, V value) { } [Test(true)] [Test(false)] [Test(typeof(string))] - /* [Test(SByteEnum.Value)] // The FullName is (System.Reflection.Metadata.Decoding.Tests.CustomAttributeDecoderTests+SByteEnum) + /* [Test(SByteEnum.Value)] // The FullName is (System.Reflection.Metadata.Decoding.Tests.CustomAttributeDecoderTests+SByteEnum) [Test(Int16Enum.Value)] // but some enums '+' is replaced with '/' and causing inconsistency [Test(Int32Enum.Value)] // Updaated https://github.com/dotnet/runtime/issues/16552 to resolve this scenario later [Test(Int64Enum.Value)] diff --git a/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/SignatureDecoderTests.cs b/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/SignatureDecoderTests.cs index bcb6661e6ef2c5..8e375f3528ec6f 100644 --- a/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/SignatureDecoderTests.cs +++ b/src/libraries/System.Reflection.Metadata/tests/Metadata/Decoding/SignatureDecoderTests.cs @@ -130,7 +130,7 @@ public static void VarArgsCaller() // Test as much as we can with simple C# examples inline below. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasAssemblyFiles))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/91923", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public void SimpleSignatureProviderCoverage() { using (FileStream stream = File.OpenRead(AssemblyPathHelper.GetAssemblyLocation(typeof(SignaturesToDecode<>).GetTypeInfo().Assembly))) diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.cs b/src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.cs index 0c4a50248db28b..b157e3ac5f1552 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.cs +++ b/src/libraries/System.Reflection.MetadataLoadContext/tests/src/Tests/CustomAttributes/DllImportTests.cs @@ -48,6 +48,7 @@ private static void AssertEqual(DllImportAttribute d1, DllImportAttribute d2) [Theory] [ActiveIssue("https://github.com/mono/mono/issues/15340", TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [MemberData(nameof(MarshalAsTheoryData))] public static void TestMarshalAsPseudoCustomAttribute(string fieldName, MarshalAsAttribute expected) { diff --git a/src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.cs b/src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.cs index 3694e501adb48d..3a728a22d33da9 100644 --- a/src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.cs +++ b/src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/RefEmitLoadContextTest.cs @@ -66,6 +66,7 @@ private static void DeleteDirectory() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasAssemblyFiles))] [ActiveIssue("https://github.com/dotnet/runtime/issues/31804", TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void LoadRefEmitAssembly() { Init(); diff --git a/src/libraries/System.Runtime/tests/System.Globalization.Calendars.Tests/CalendarTestWithConfigSwitch/CalendarTests.cs b/src/libraries/System.Runtime/tests/System.Globalization.Calendars.Tests/CalendarTestWithConfigSwitch/CalendarTests.cs index 804a3a55b270ae..2b00c1ae32adb9 100644 --- a/src/libraries/System.Runtime/tests/System.Globalization.Calendars.Tests/CalendarTestWithConfigSwitch/CalendarTests.cs +++ b/src/libraries/System.Runtime/tests/System.Globalization.Calendars.Tests/CalendarTestWithConfigSwitch/CalendarTests.cs @@ -10,7 +10,7 @@ namespace System.Globalization.Tests public static class CalendarTests { [Fact] - [SkipOnPlatform(TestPlatforms.Android, "Doesn't throw on mobile")] + [SkipOnPlatform(TestPlatforms.Android | TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, "Doesn't throw on mobile")] public static void TestJapaneseCalendarDateParsing() { CultureInfo ciJapanese = new CultureInfo("ja-JP") { DateTimeFormat = { Calendar = new JapaneseCalendar() } }; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs index 58f74f0612ef00..d06f69aecced65 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs @@ -398,7 +398,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.cs index 7fd603f15c48b9..843813a14997a4 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/ExceptionTests.cs @@ -109,7 +109,7 @@ public static void Exception_TargetSite_Rethrow() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasAssemblyFiles))] [ActiveIssue("https://github.com/mono/mono/issues/15140", TestRuntimes.Mono)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void ThrowStatementDoesNotResetExceptionStackLineSameMethod() { (string, string, int) rethrownExceptionStackFrame = (null, null, 0); @@ -140,7 +140,7 @@ private static (string, string, int) ThrowAndRethrowSameMethod(out (string, stri [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArm64Process), nameof(PlatformDetection.HasAssemblyFiles))] // [ActiveIssue(https://github.com/dotnet/runtime/issues/1871)] can't use ActiveIssue for archs [ActiveIssue("https://github.com/mono/mono/issues/15141", TestRuntimes.Mono)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] public static void ThrowStatementDoesNotResetExceptionStackLineOtherMethod() { (string, string, int) rethrownExceptionStackFrame = (null, null, 0); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/NullableMetadataTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/NullableMetadataTests.cs index 24a1de935ad2f2..2e560b1aca8c7e 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/NullableMetadataTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/NullableMetadataTests.cs @@ -132,7 +132,7 @@ public static void NullableAttributesOnPublicApiOnly(Type type) [Theory] [InlineData("mscorlib")] [InlineData("System.Threading.Overlapped")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/99592", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/99592", typeof(PlatformDetection), nameof(PlatformDetection.IsBuiltWithAggressiveTrimming), nameof(PlatformDetection.IsAppleMobile))] public static void ShimsHaveOnlyTypeForwards(string assemblyName) { Assembly assembly = Assembly.Load(assemblyName); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs index a23bb19eb68389..bf8c1ba01f1be4 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs @@ -37,6 +37,7 @@ public static void MethodTakesRefStructAsArgWithDefaultValue_ThrowsNSE() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() { // Use a Binder to trick the reflection stack into treating the returned null diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ReflectionCacheTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ReflectionCacheTests.cs index a5922112c1d98e..d85e041d8a9036 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ReflectionCacheTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ReflectionCacheTests.cs @@ -77,6 +77,7 @@ void AssertSameEqualAndHashCodeEqual(object o1, object o2) [ActiveIssue("https://github.com/dotnet/runtime/issues/50978", TestRuntimes.Mono)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsMetadataUpdateSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public void InvokeClearCache_NoExceptions() { Action clearCache = GetClearCacheMethod(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs index 63f4eb15db5955..3034ba12cf2f30 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs @@ -19,6 +19,7 @@ public static void PortablePdb() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicCode() { Assert.Equal(RuntimeFeature.IsDynamicCodeSupported, RuntimeFeature.IsSupported("IsDynamicCodeSupported")); @@ -33,6 +34,7 @@ public static void DynamicCode() [Fact] [SkipOnMono("IsDynamicCodeCompiled returns false in cases where mono doesn't support these features")] [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicCode_Jit() { if (PlatformDetection.IsNativeAot) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs index 8f933956060c30..7cfae48cd6f138 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs @@ -398,7 +398,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { diff --git a/src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.cs b/src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.cs index 6f1dbd29b0c088..ab57f6b0cc969c 100644 --- a/src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.cs +++ b/src/libraries/System.Runtime/tests/System.Text.Encoding.Tests/Encoding/TranscodingStreamTests.cs @@ -40,6 +40,7 @@ public static IEnumerable ReadWriteTestBufferLengths } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void AsyncMethods_ReturnCanceledTaskIfCancellationTokenTripped() { @@ -78,6 +79,7 @@ public void CreateTranscodingStream_InvalidArgs() Assert.Throws("outerStreamEncoding", () => Encoding.CreateTranscodingStream(Stream.Null, Encoding.UTF8, null)); } + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [InlineData(true)] [InlineData(false)] @@ -101,6 +103,7 @@ public void CanRead_DelegatesToInnerStream(bool expectedCanRead) Assert.False(actualCanReadAfterDispose); } + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [InlineData(true)] [InlineData(false)] @@ -200,6 +203,7 @@ public void Dispose_WithLeaveOpenTrue_DoesNotDisposeInnerStream() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Flush_FlushesInnerStreamButNotDecodedState() { @@ -393,6 +397,7 @@ void RunOneTestIteration(int stringLength) } } + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public Task ReadApm() { @@ -434,6 +439,7 @@ public Task ReadApm() suppressExpectedCancellationTokenAsserts: true); // APM pattern doesn't allow flowing CancellationToken } + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [MemberData(nameof(ReadWriteTestBufferLengths))] public Task ReadAsync_ByteArray(int bufferLength) @@ -453,6 +459,7 @@ public Task ReadAsync_ByteArray(int bufferLength) }); } + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [MemberData(nameof(ReadWriteTestBufferLengths))] public async Task ReadAsync_Memory(int bufferLength) @@ -768,6 +775,7 @@ public void Write_WithInvalidArgs_Throws() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task WriteAsync_WithFullData() { @@ -828,6 +836,7 @@ public async Task WriteAsync_WithFullData() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task WriteAsync_WithPartialData() { @@ -884,6 +893,7 @@ public void WriteAsync_WithInvalidArgs_Throws() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/124344", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsCoreCLR))] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void WriteApm() { diff --git a/src/libraries/sendtohelix-mobile.targets b/src/libraries/sendtohelix-mobile.targets index f45a28ca50dc30..87991399245120 100644 --- a/src/libraries/sendtohelix-mobile.targets +++ b/src/libraries/sendtohelix-mobile.targets @@ -81,6 +81,8 @@ Destination="build/BuildIntegration" /> + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 7f94b863343adc..419c4d011cb1af 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -270,14 +270,6 @@ - - - - - - - - @@ -368,7 +360,7 @@ - + @@ -642,6 +634,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + diff --git a/src/mono/msbuild/apple/build/AppleBuild.LocalBuild.props b/src/mono/msbuild/apple/build/AppleBuild.LocalBuild.props index 92668cf265fafe..0bd41771aa4709 100644 --- a/src/mono/msbuild/apple/build/AppleBuild.LocalBuild.props +++ b/src/mono/msbuild/apple/build/AppleBuild.LocalBuild.props @@ -61,6 +61,7 @@ $([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'LibraryBuilder')) $([MSBuild]::NormalizePath($(BuildBaseDir), 'cross')) + $([MSBuild]::NormalizeDirectory('$(BuildBaseDir)', 'crossgen2')) $([MSBuild]::NormalizeDirectory('$(BuildBaseDir)', 'ilc')) $([MSBuild]::NormalizePath('$(BuildBaseDir)', 'BuildIntegration')) $([MSBuild]::NormalizePath('$(ILCompilerTargetsDir)', 'Microsoft.DotNet.ILCompiler.SingleEntry.targets')) diff --git a/src/mono/msbuild/apple/build/AppleBuild.ReadyToRun.targets b/src/mono/msbuild/apple/build/AppleBuild.ReadyToRun.targets index 1bfe6b140f2ca5..6e546a78d02e44 100644 --- a/src/mono/msbuild/apple/build/AppleBuild.ReadyToRun.targets +++ b/src/mono/msbuild/apple/build/AppleBuild.ReadyToRun.targets @@ -2,7 +2,9 @@ - + $([MSBuild]::NormalizePath('$(Crossgen2InBuildDir)', 'crossgen2$(ExeSuffix)')) diff --git a/src/mono/msbuild/apple/build/AppleBuild.props b/src/mono/msbuild/apple/build/AppleBuild.props index f3edc755c1959e..ec67cde3c84259 100644 --- a/src/mono/msbuild/apple/build/AppleBuild.props +++ b/src/mono/msbuild/apple/build/AppleBuild.props @@ -9,7 +9,7 @@ true - + true true macho @@ -61,8 +61,9 @@ This can be removed once we upstream Mach-O support in the targets to the SDK --> + ResolveRuntimeFilesFromLocalBuild $(AfterMicrosoftNETSdkTargets);$(Crossgen2SdkOverrideTargetsPath) - $(AfterMicrosoftNETSdkTargets);$(MonoProjectRoot)\msbuild\apple\build\AppleBuild.ReadyToRun.targets + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)AppleBuild.ReadyToRun.targets diff --git a/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj b/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj index 2035333122a2f0..309d5b97a52cdc 100644 --- a/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj +++ b/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj @@ -7,7 +7,7 @@ $([MSBuild]::NormalizeDirectory($(TestRootDir), '..', 'extraFiles')) $([MSBuild]::NormalizeDirectory($(TestRootDir), '..', 'obj')) - _PublishRuntimePack;_PrepareForAppleBuildAppOnHelix;$(AppleBuildDependsOn);_AfterAppleBuildOnHelix + _PublishRuntimePack;_PrepareForAppleBuildAppOnHelix;_RunR2RCompilationOnHelix;$(AppleBuildDependsOn);_AfterAppleBuildOnHelix true $(OriginalPublishDir) @@ -96,6 +96,64 @@ + + + + + + <_R2ROutputPath>$(IntermediateOutputPath)R2R + + + + <_R2RCompiledAssemblies Include="$(_R2ROutputPath)\*.dll" /> + <_R2RDylibFiles Include="$(_R2ROutputPath)\*.r2r.dylib" /> + + + + + + + + + + + + + + + + $(BaseIntermediateOutputPath) + $(TargetOS)-$(TargetArchitecture) + + + + + <_R2RPublishAssembly Include="$(OriginalPublishDir)*.dll" Exclude="$(OriginalPublishDir)*.resources.dll" /> + + + + + %(Filename)%(Extension) + + + + + + + + + + + + + diff --git a/src/mono/msbuild/common/RuntimeComponentManifest.targets b/src/mono/msbuild/common/RuntimeComponentManifest.targets index fcf1ff70d9a8f5..267df0c44c980b 100644 --- a/src/mono/msbuild/common/RuntimeComponentManifest.targets +++ b/src/mono/msbuild/common/RuntimeComponentManifest.targets @@ -1,10 +1,10 @@ - + - <_MonoRuntimeComponentManifestJsonFilePath + <_MonoRuntimeComponentManifestJsonFilePath Condition="'$(_MonoRuntimeComponentManifestJsonFilePath)' == '' and '%(ResolvedFrameworkReference.Identity)' == 'Microsoft.NETCore.App'">$([MSBuild]::NormalizePath('%(RuntimePackPath)', 'runtimes', '$(RuntimeIdentifier)', 'build', 'RuntimeComponentManifest.json')) @@ -69,7 +69,7 @@ Such a workload should then use DontLink to exclude the disabled components. On the other hand a workload that explicitly picks the native libraries from native/ should use _MonoRuntimeComponentLink to pick just the needed runtime component artifacts. --> - + diff --git a/src/tasks/AppleAppBuilder/AppleAppBuilder.csproj b/src/tasks/AppleAppBuilder/AppleAppBuilder.csproj index 1a6f333f72d2d6..50c08de42e0b37 100644 --- a/src/tasks/AppleAppBuilder/AppleAppBuilder.csproj +++ b/src/tasks/AppleAppBuilder/AppleAppBuilder.csproj @@ -2,6 +2,7 @@ $(NetCoreAppToolCurrent) + true $(NoWarn),CA1050,CA1850 $(DefaultExcludesInProjectFolder);Templates\*.* diff --git a/src/tasks/AppleAppBuilder/Templates/runtime-coreclr.m b/src/tasks/AppleAppBuilder/Templates/runtime-coreclr.m index 938de5423105c6..10b0e44e5d437e 100644 --- a/src/tasks/AppleAppBuilder/Templates/runtime-coreclr.m +++ b/src/tasks/AppleAppBuilder/Templates/runtime-coreclr.m @@ -196,25 +196,32 @@ bool get_native_code_data(const struct host_runtime_contract_native_code_context char contract_str[19]; // 0x + 16 hex digits + '\0' snprintf(contract_str, 19, "0x%zx", (size_t)(&host_contract)); - // TODO: set TRUSTED_PLATFORM_ASSEMBLIES, APP_PATHS and NATIVE_DLL_SEARCH_DIRECTORIES - const char *appctx_keys [] = { - "RUNTIME_IDENTIFIER", - "APP_CONTEXT_BASE_DIRECTORY", - "TRUSTED_PLATFORM_ASSEMBLIES", - "HOST_RUNTIME_CONTRACT", +#if defined(INVARIANT_GLOBALIZATION) +#define PROPERTY_COUNT %AppContextPropertyCount_InvariantGlobalization% +#else +#define PROPERTY_COUNT %AppContextPropertyCount% +#endif + + // Hardcoded properties + runtime config properties (generated at build time) + const char *appctx_keys[PROPERTY_COUNT]; + appctx_keys[0] = "RUNTIME_IDENTIFIER"; + appctx_keys[1] = "APP_CONTEXT_BASE_DIRECTORY"; + appctx_keys[2] = "TRUSTED_PLATFORM_ASSEMBLIES"; + appctx_keys[3] = "HOST_RUNTIME_CONTRACT"; #if !defined(INVARIANT_GLOBALIZATION) - "ICU_DAT_FILE_PATH" + appctx_keys[4] = "ICU_DAT_FILE_PATH"; #endif - }; - const char *appctx_values [] = { - APPLE_RUNTIME_IDENTIFIER, - bundle, - compute_trusted_platform_assemblies(), - contract_str, +%AppContextKeys% + + const char *appctx_values[PROPERTY_COUNT]; + appctx_values[0] = APPLE_RUNTIME_IDENTIFIER; + appctx_values[1] = bundle; + appctx_values[2] = compute_trusted_platform_assemblies(); + appctx_values[3] = contract_str; #if !defined(INVARIANT_GLOBALIZATION) - icu_dat_path + appctx_values[4] = icu_dat_path; #endif - }; +%AppContextValues% const char* executable = "%EntryPointLibName%"; const char *executablePath = [[[[NSBundle mainBundle] executableURL] path] UTF8String]; diff --git a/src/tasks/AppleAppBuilder/Xcode.cs b/src/tasks/AppleAppBuilder/Xcode.cs index e644aefc6ed498..89d4f19a4102db 100644 --- a/src/tasks/AppleAppBuilder/Xcode.cs +++ b/src/tasks/AppleAppBuilder/Xcode.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection.Metadata; using System.Text; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; @@ -621,12 +622,18 @@ public string GenerateCMake( File.WriteAllText(Path.Combine(binDir, "host_runtime_contract.h"), Utils.GetEmbeddedResource("host_runtime_contract.h")); + var (appContextKeys, appContextValues, propertyCount, propertyCountInvariant) = RenderCoreClrRuntimeConfigProperties(workspace); + // NOTE: Library mode is not supported yet File.WriteAllText(Path.Combine(binDir, "runtime.m"), Utils.GetEmbeddedResource("runtime-coreclr.m") .Replace("//%APPLE_RUNTIME_IDENTIFIER%", RuntimeIdentifier) .Replace("%EntryPointLibName%", Path.GetFileName(entryPointLib)) - .Replace("%EnvVariables%", envVariables)); + .Replace("%EnvVariables%", envVariables) + .Replace("%AppContextPropertyCount%", propertyCount.ToString()) + .Replace("%AppContextPropertyCount_InvariantGlobalization%", propertyCountInvariant.ToString()) + .Replace("%AppContextKeys%", appContextKeys) + .Replace("%AppContextValues%", appContextValues)); } } @@ -756,4 +763,78 @@ public static string GetAppPath(string appDirectory, string xcodePrjPath) { return Path.Combine(appDirectory, Path.GetFileNameWithoutExtension(xcodePrjPath) + ".app"); } + + private (string appContextKeys, string appContextValues, int propertyCount, int propertyCountInvariant) RenderCoreClrRuntimeConfigProperties(string workspace) + { + Dictionary configProperties = ParseRuntimeConfigProperties(workspace); + + // Hardcoded properties count: + // - RUNTIME_IDENTIFIER, APP_CONTEXT_BASE_DIRECTORY, TRUSTED_PLATFORM_ASSEMBLIES, HOST_RUNTIME_CONTRACT = 4 + // - ICU_DAT_FILE_PATH (only when !INVARIANT_GLOBALIZATION) = 1 + const int hardcodedPropertiesWithIcu = 5; + const int hardcodedPropertiesWithoutIcu = 4; + + var appContextKeys = new StringBuilder(); + var appContextValues = new StringBuilder(); + + int i = 0; + foreach ((string key, string value) in configProperties) + { + appContextKeys.AppendLine($"#if defined(INVARIANT_GLOBALIZATION)"); + appContextKeys.AppendLine($" appctx_keys[{i + hardcodedPropertiesWithoutIcu}] = \"{key}\";"); + appContextKeys.AppendLine($"#else"); + appContextKeys.AppendLine($" appctx_keys[{i + hardcodedPropertiesWithIcu}] = \"{key}\";"); + appContextKeys.AppendLine($"#endif"); + + appContextValues.AppendLine($"#if defined(INVARIANT_GLOBALIZATION)"); + appContextValues.AppendLine($" appctx_values[{i + hardcodedPropertiesWithoutIcu}] = \"{value}\";"); + appContextValues.AppendLine($"#else"); + appContextValues.AppendLine($" appctx_values[{i + hardcodedPropertiesWithIcu}] = \"{value}\";"); + appContextValues.AppendLine($"#endif"); + i++; + } + + int propertyCount = hardcodedPropertiesWithIcu + configProperties.Count; + int propertyCountInvariant = hardcodedPropertiesWithoutIcu + configProperties.Count; + + return (appContextKeys.ToString().TrimEnd(), appContextValues.ToString().TrimEnd(), propertyCount, propertyCountInvariant); + } + + private Dictionary ParseRuntimeConfigProperties(string workspace) + { + var configProperties = new Dictionary(); + string runtimeConfigPath = Path.Combine(workspace, "runtimeconfig.bin"); + + if (!File.Exists(runtimeConfigPath)) + { + return configProperties; + } + + try + { + byte[] fileBytes = File.ReadAllBytes(runtimeConfigPath); + unsafe + { + fixed (byte* ptr = fileBytes) + { + var blobReader = new BlobReader(ptr, fileBytes.Length); + + int count = blobReader.ReadCompressedInteger(); + + for (int i = 0; i < count; i++) + { + string key = blobReader.ReadSerializedString() ?? string.Empty; + string value = blobReader.ReadSerializedString() ?? string.Empty; + configProperties[key] = value; + } + } + } + } + catch (Exception ex) + { + Logger.LogMessage(MessageImportance.High, $"Error while parsing runtime config at {runtimeConfigPath}: {ex.Message}"); + } + + return configProperties; + } } diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj index 7a9ff200f57fe1..cc261646555edf 100644 --- a/src/tests/Common/helixpublishwitharcade.proj +++ b/src/tests/Common/helixpublishwitharcade.proj @@ -872,6 +872,8 @@ Destination="build/BuildIntegration" /> +