[nativeaot][ios] Improve Native AOT test coverage on apple mobile platforms (#89301)
authorMilos Kotlar <kotlarmilos@gmail.com>
Fri, 4 Aug 2023 11:44:05 +0000 (13:44 +0200)
committerGitHub <noreply@github.com>
Fri, 4 Aug 2023 11:44:05 +0000 (13:44 +0200)
* Enable TestLinqExpressions test

* Test maccatalyst job on Native AOT

* Test other smoke runtime tests on Native AOT

* Add tracking issue for disabled tests

16 files changed:
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml
src/tests/nativeaot/SmokeTests/Exceptions/Exceptions.csproj
src/tests/nativeaot/SmokeTests/FrameworkStrings/Baseline.csproj
src/tests/nativeaot/SmokeTests/FrameworkStrings/UseSystemResourceKeys.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Avx.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Avx2.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Avx512.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Avx_NoAvx2.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Baseline.csproj
src/tests/nativeaot/SmokeTests/HardwareIntrinsics/X64Sse42.csproj
src/tests/nativeaot/SmokeTests/PInvoke/PInvoke.csproj
src/tests/nativeaot/SmokeTests/Reflection/Reflection_FromUsage.csproj
src/tests/nativeaot/SmokeTests/SharedLibrary/SharedLibrary.csproj
src/tests/nativeaot/SmokeTests/StackTraceMetadata/StackTraceMetadata_Stripped.csproj
src/tests/nativeaot/SmokeTests/UnitTests/Delegates.cs

index aaf4373..ae96a6d 100644 (file)
@@ -121,5 +121,5 @@ jobs:
       extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
       extraStepsParameters:
         creator: dotnet-bot
-        testBuildArgs: tree nativeaot/SmokeTests/UnitTests /p:BuildNativeAOTRuntimePack=true
+        testBuildArgs: tree nativeaot/SmokeTests /p:BuildNativeAOTRuntimePack=true
         testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
index 357d5b8..a0b5fe9 100644 (file)
@@ -130,5 +130,5 @@ jobs:
       extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
       extraStepsParameters:
         creator: dotnet-bot
-        testBuildArgs: tree nativeaot/SmokeTests/UnitTests /p:BuildNativeAOTRuntimePack=true
+        testBuildArgs: tree nativeaot/SmokeTests /p:BuildNativeAOTRuntimePack=true
         testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig)
index fe80571..28e8665 100644 (file)
@@ -5,6 +5,8 @@
     <CLRTestPriority>0</CLRTestPriority>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <ServerGarbageCollection>true</ServerGarbageCollection>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Exceptions.cs" />
index cc915ba..0bb86d7 100644 (file)
@@ -3,6 +3,8 @@
     <OutputType>Exe</OutputType>
     <CLRTestKind>BuildAndRun</CLRTestKind>
     <CLRTestPriority>0</CLRTestPriority>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
index 15bfab8..5a48797 100644 (file)
@@ -7,6 +7,8 @@
     
     <!-- Requires the framework to also be compiled with UseSystemResourceKeys -->
     <CLRTestTargetUnsupported Condition="'$(IlcMultiModule)' == 'true'">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
   </PropertyGroup>
 
   <ItemGroup>
index 63f975a..7f4f708 100644 (file)
@@ -6,6 +6,8 @@
     <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);AVX_INTRINSICS;VECTORT128_INTRINSICS</DefineConstants>
   </PropertyGroup>
index 334d899..07024a1 100644 (file)
@@ -6,6 +6,8 @@
     <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);AVX2_INTRINSICS;VECTORT256_INTRINSICS</DefineConstants>
   </PropertyGroup>
index 2f045ae..ef73035 100644 (file)
@@ -3,9 +3,11 @@
     <OutputType>Exe</OutputType>
     <CLRTestKind>BuildAndRun</CLRTestKind>
     <CLRTestPriority>0</CLRTestPriority>
-    <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64' OR '$(TargetsOSX)' == 'true'">true</CLRTestTargetUnsupported>
+    <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64' or '$(TargetsOSX)' == 'true'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);AVX512_INTRINSICS;VECTORT256_INTRINSICS</DefineConstants>
   </PropertyGroup>
index 649e144..a0fec02 100644 (file)
@@ -6,6 +6,8 @@
     <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);AVX_INTRINSICS;VECTORT128_INTRINSICS</DefineConstants>
   </PropertyGroup>
index 6da7c0d..9db75ff 100644 (file)
@@ -6,6 +6,8 @@
     <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);BASELINE_INTRINSICS;VECTORT128_INTRINSICS</DefineConstants>
   </PropertyGroup>
index c2922e1..49cadea 100644 (file)
@@ -6,6 +6,8 @@
     <CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' != 'x64'">true</CLRTestTargetUnsupported>
     <!-- Sanitizers increase the binary size, so it ends up outside of our expected range. -->
     <CLRTestTargetUnsupported Condition="'$(EnableNativeSanitizers)' != ''">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);SSE42_INTRINSICS;VECTORT128_INTRINSICS</DefineConstants>
   </PropertyGroup>
index f43e530..0a7a956 100644 (file)
@@ -8,6 +8,8 @@
 
     <!-- Look for MULTIMODULE_BUILD #define for the more specific incompatible parts -->
     <CLRTestTargetUnsupported Condition="'$(IlcMultiModule)' == 'true'">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="PInvoke.cs" />
index 584e823..0e640b0 100644 (file)
@@ -12,6 +12,8 @@
 
     <!-- Look for MULTIMODULE_BUILD #define for the more specific incompatible parts -->
     <CLRTestTargetUnsupported Condition="'$(IlcMultiModule)' == 'true'">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
 
     <IlcTrimMetadata>false</IlcTrimMetadata>
   </PropertyGroup>
index aadb182..cee5000 100644 (file)
@@ -5,6 +5,8 @@
     <CLRTestPriority>0</CLRTestPriority>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NativeLib>Shared</NativeLib>
+    <!-- Unable to compile a project with the Library output type for apple mobile devices -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
   </PropertyGroup>
 
   <PropertyGroup>
index 76478d8..afb9d80 100644 (file)
@@ -6,6 +6,8 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <InvariantGlobalization>true</InvariantGlobalization>
     <CLRTestTargetUnsupported Condition="'$(IlcMultiModule)' == 'true'">true</CLRTestTargetUnsupported>
+    <!-- Test infra issue on apple devices: https://github.com/dotnet/runtime/issues/89917 -->
+    <CLRTestTargetUnsupported Condition="'$(TargetsAppleMobile)' == 'true'">true</CLRTestTargetUnsupported>
     <DefineConstants>$(DefineConstants);STRIPPED</DefineConstants>
     <StackTraceSupport>false</StackTraceSupport>
   </PropertyGroup>
index 9452d87..2617cb5 100644 (file)
@@ -51,12 +51,7 @@ public class Delegates
             result = Fail;
         }
 
-        // ActiveIssue https://github.com/dotnet/runtime/issues/87924
-        if (!OperatingSystem.IsIOS() && !OperatingSystem.IsTvOS() && !OperatingSystem.IsMacCatalyst())
-        {
-            TestLinqExpressions.Run();
-        }
-
+        TestLinqExpressions.Run();
         TestDefaultInterfaceMethods.Run();
 
         return result;