From af0014b735115fea8f3cd7527a51295719a6a6b6 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 13 Jul 2022 12:16:48 +0200 Subject: [PATCH] Added --debug switch to benchmarks. To be able to run benchmarks in the debugger, you need to pass `DebugInProcessConfig` to the benchmark switcher. There doesn't seem to be any inbuilt switch to enable this from the command-line, so added one to the benchmarks projects in order to be able to debug benchmarks more easily. --- tests/Avalonia.Benchmarks/Program.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/Avalonia.Benchmarks/Program.cs b/tests/Avalonia.Benchmarks/Program.cs index 903778ff00..8f7aa3eb79 100644 --- a/tests/Avalonia.Benchmarks/Program.cs +++ b/tests/Avalonia.Benchmarks/Program.cs @@ -1,6 +1,8 @@ +using System.Collections.Generic; using System.Linq; using System.Reflection; using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Configs; using BenchmarkDotNet.Running; namespace Avalonia.Benchmarks @@ -19,7 +21,17 @@ namespace Avalonia.Benchmarks .ThenBy(t => t.Name) .ToArray(); var benchmarkSwitcher = new BenchmarkSwitcher(benchmarks); - benchmarkSwitcher.Run(args); + IConfig config = null; + + if (args.Contains("--debug")) + { + config = new DebugInProcessConfig(); + var a = new List(args); + a.Remove("--debug"); + args = a.ToArray(); + } + + benchmarkSwitcher.Run(args, config); } } }