[acceptance-tests] Disable the ironjs-v8 test on arm32/arm64.
[mono.git] / acceptance-tests / profiler-stress / runner.cs
index 69ba9e5ab0a2cda0c8eb332b788c1cb22e77a77e..05a1efb3514561a2f9f7d1bab68ed90695d27198 100644 (file)
@@ -59,7 +59,11 @@ namespace Mono.Profiling.Tests.Stress {
 
                static readonly TimeSpan _timeout = TimeSpan.FromHours (8);
 
-               static readonly Dictionary<string, Action<TestResult>> _processors = new Dictionary<string, Action<TestResult>> () {
+               static readonly Dictionary<string, Predicate<Benchmark>> _filters = new Dictionary<string, Predicate<Benchmark>> {
+                       { "ironjs-v8", FilterArmArchitecture },
+               };
+
+               static readonly Dictionary<string, Action<TestResult>> _processors = new Dictionary<string, Action<TestResult>> {
                        { "msbiology", Process32BitOutOfMemory },
                };
 
@@ -67,6 +71,15 @@ namespace Mono.Profiling.Tests.Stress {
                        return Regex.Replace (text, @"[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]", string.Empty);
                }
 
+               static bool FilterArmArchitecture (Benchmark benchmark)
+               {
+#if ARCH_arm || ARCH_arm64
+                       return false;
+#else
+                       return true;
+#endif
+               }
+
                static void Process32BitOutOfMemory (TestResult result)
                {
                        if (Environment.Is64BitProcess)
@@ -79,6 +92,11 @@ namespace Mono.Profiling.Tests.Stress {
                                result.ExitCode = 0;
                }
 
+               static bool IsSupported (Benchmark benchmark)
+               {
+                       return _filters.TryGetValue (benchmark.Name, out var filter) ? filter (benchmark) : true;
+               }
+
                static int Main ()
                {
                        var depDir = Path.Combine ("..", "external", "benchmarker");
@@ -87,7 +105,7 @@ namespace Mono.Profiling.Tests.Stress {
 
                        var benchmarks = Directory.EnumerateFiles (benchDir, "*.benchmark")
                                         .Select (Benchmark.Load)
-                                        .Where (b => !b.OnlyExplicit && b.ClientCommandLine == null)
+                                        .Where (b => !b.OnlyExplicit && b.ClientCommandLine == null && IsSupported (b))
                                         .OrderBy (b => b.Name)
                                         .ToArray ();