[mono]Re-enable runtime tests on Android arm64 (#49662)
authorFan Yang <52458914+fanyang-mono@users.noreply.github.com>
Tue, 22 Jun 2021 17:36:57 +0000 (13:36 -0400)
committerGitHub <noreply@github.com>
Tue, 22 Jun 2021 17:36:57 +0000 (13:36 -0400)
* Re-enable runtime tests on Android arm64

* disable irrelevant CI lanes

* Disable more dotnet-linker-tests and runtime-dev-innerloop CI lanes

* Comment out definition for DISABLE_LOGGING

* Remove defining logging for android

* Extend app installation timeout limit

* Fix command prefix for windows

* Enable tests excluded only for Android arm64

* Disable failed test on arm64

* Revert hacks

* Revert unintended changes

* More...

* Only run tests on arm64 for rolling build

* Fix merge error

eng/pipelines/runtime-staging.yml
src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs
src/tests/issues.targets

index 5def476..36ff5c7 100644 (file)
@@ -347,7 +347,7 @@ jobs:
     buildConfig: Release
     runtimeFlavor: mono
     platforms:
-    #- Android_arm64  # disabled due to https://github.com/dotnet/runtime/issues/47850
+    - Android_arm64
     variables:
       - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
         - name: _HelixSource
@@ -369,11 +369,13 @@ jobs:
           eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
           eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
           eq(variables['isFullMatrix'], true))
-      # extra steps, run tests
-      extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml
-      extraStepsParameters:
-        creator: dotnet-bot
-        testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+      # don't run tests on PRs until we can get significantly more devices
+      ${{ if eq(variables['isFullMatrix'], true) }}:
+        # extra steps, run tests
+        extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml
+        extraStepsParameters:
+          creator: dotnet-bot
+          testRunNamePrefixSuffix: Mono_$(_BuildConfig)
 
 # Run disabled installer tests on Linux x64
 - template: /eng/pipelines/common/platform-matrix.yml
index 7a80d1e..b712246 100644 (file)
@@ -29,7 +29,7 @@ namespace CoreclrTestLib
             string xharnessCmd;
             string cmdStr;
             string appExtension;
-            int timeout = 240000; // Set timeout to 4 mins, because the installation on Android arm64/32 devices could take up to 4 mins on CI
+            int timeout = 600000; // Set timeout to 4 mins, because the installation on Android arm64/32 devices could take up to 10 mins on CI
 
             if(String.IsNullOrEmpty(dotnetCmd_raw))
             {
@@ -120,8 +120,18 @@ namespace CoreclrTestLib
         private static string ConvertCmd2Arg(string cmd)
         {
             cmd.Replace("\"", "\"\"");
-            var result = $"-c \"{cmd}\"";
-            return result;
+
+            string cmdPrefix;
+            if(OperatingSystem.IsWindows())
+            {
+                cmdPrefix = "/c";
+            }
+            else
+            {
+                cmdPrefix = "-c";
+            }
+            
+            return $"{cmdPrefix} \"{cmd}\"";
         }
     }
 }
index 1daa9fd..e34d49e 100644 (file)
     </ItemGroup>
 
     <ItemGroup Condition=" $(TargetOS) == 'Android' And '$(TargetArchitecture)' == 'arm64' " >
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/HardwareIntrinsics/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT.HardwareIntrinsics)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/Methodical/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT.Methodical*)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/IL_Conformance/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT.IL_Conformance)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/SIMD/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/opt/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/JIT/Regression/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem JIT.Regression.CLR-x86-JIT.V1-M12-M13)</Issue>
-        </ExcludeList>
-        <ExcludeList Include = "$(XunitTestBinBase)/GC/Scenarios/**">
-            <Issue>https://github.com/dotnet/runtime/issues/45568 (workitem PayloadGroup0)</Issue>
+        <ExcludeList Include = "$(XunitTestBinBase)/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux-5/**">
+            <Issue>https://github.com/dotnet/runtime/issues/52781</Issue>
         </ExcludeList>
     </ItemGroup>
 </Project>