X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=acceptance-tests%2Fprofiler-stress%2Frunner.cs;h=e4a609b995f259e5cb45c144fb1a3b0076fc8fe5;hb=34866ac4c20c781f10c40fe6f6fe0c39733fd946;hp=858aed32c4176b34928d76d6e70aa9c1d2c89a01;hpb=e4b5152a9b970d87ffc379cc7dc858fac2a75187;p=mono.git diff --git a/acceptance-tests/profiler-stress/runner.cs b/acceptance-tests/profiler-stress/runner.cs index 858aed32c41..e4a609b995f 100644 --- a/acceptance-tests/profiler-stress/runner.cs +++ b/acceptance-tests/profiler-stress/runner.cs @@ -57,9 +57,13 @@ namespace Mono.Profiling.Tests.Stress { "jit", }; - static readonly TimeSpan _timeout = TimeSpan.FromHours (24); + static readonly TimeSpan _timeout = TimeSpan.FromHours (9); - static readonly Dictionary> _processors = new Dictionary> () { + static readonly Dictionary> _filters = new Dictionary> { + { "ironjs-v8", FilterArmArchitecture }, + }; + + static readonly Dictionary> _processors = new Dictionary> { { "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 (); @@ -152,12 +170,14 @@ namespace Mono.Profiling.Tests.Stress { proc.OutputDataReceived += (sender, args) => { if (args.Data != null) - stdout.AppendLine (args.Data); + lock (result) + stdout.AppendLine (args.Data); }; proc.ErrorDataReceived += (sender, args) => { if (args.Data != null) - stderr.AppendLine (args.Data); + lock (result) + stderr.AppendLine (args.Data); }; result.Stopwatch.Start (); @@ -181,8 +201,10 @@ namespace Mono.Profiling.Tests.Stress { result.Stopwatch.Stop (); - result.StandardOutput = stdout.ToString (); - result.StandardError = stderr.ToString (); + lock (result) { + result.StandardOutput = stdout.ToString (); + result.StandardError = stderr.ToString (); + } } var resultStr = result.ExitCode == null ? "timed out" : $"exited with code: {result.ExitCode}";