/// <summary> /// This method is ONLY for wiring up extensions that can be detected/inferred from the list of Benchmarks. /// Any extensions that are wired-up via command-line parameters are handled elsewhere /// </summary> private static void AddDetectedPlugins(List<Benchmark> benchmarks, IBenchmarkPlugins existingPlugins, string benchmarkName) { var baselineCount = benchmarks.Count(b => b.Target.Baseline == true); if (baselineCount > 1) { throw new InvalidOperationException($"Only 1 [Benchmark] in a class can have \"Baseline = true\" applied to it, {benchmarkName} has {baselineCount}"); } else if (baselineCount == 1) { existingPlugins.ResultExtenders.Add(new BenchmarkBaselineDeltaResultExtender()); } }
public BenchmarkRunner(IBenchmarkPlugins plugins = null) { Plugins = plugins ?? BenchmarkPluginBuilder.CreateDefault().Build(); }