check-profiler-stress:
@$(MAKE) validate-benchmarker RESET_VERSIONS=1
- cd profiler-stress && $(MCS) -debug -target:exe $(addprefix -r:, $(SYS_REFS)) -out:runner.exe @runner.exe.sources
+ cd profiler-stress && $(MCS) -debug -define:ARCH_$(arch_target) -target:exe $(addprefix -r:, $(SYS_REFS)) -out:runner.exe @runner.exe.sources
cd profiler-stress && $(RUNTIME) runner.exe
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 },
};
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)
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");
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 ();