protected override async Task <RunSummary> RunTestAsync() { var runSummary = new BenchmarkRunSummary { TestClassFullName = TestCase.TestMethod.TestClass.Class.Name, TestClass = TestCase.TestMethod.TestClass.Class.Name.Split('.').Last(), TestMethod = TestCase.DisplayName, Variation = TestCase.Variation, ProductReportingVersion = BenchmarkConfig.Instance.ProductReportingVersion, RunStarted = DateTime.UtcNow, MachineName = _machineName, Framework = _framework, WarmupIterations = TestCase.WarmupIterations, Iterations = TestCase.Iterations, }; for (int i = 0; i < TestCase.WarmupIterations; i++) { var runner = CreateRunner(i + 1, TestCase.WarmupIterations, TestCase.Variation, warmup: true); runSummary.Aggregate(await runner.RunAsync()); } var stopwatch = new Stopwatch(); for (int i = 0; i < TestCase.Iterations; i++) { TestCase.MetricCollector.Reset(); var runner = CreateRunner(i + 1, TestCase.Iterations, TestCase.Variation, warmup: false); stopwatch.Start(); // Running the actual test var result = await runner.RunAsync(); stopwatch.Stop(); runSummary.Aggregate(result); } runSummary.TimeElapsed = stopwatch.Elapsed; _diagnosticMessageSink.OnMessage(new XunitDiagnosticMessage(runSummary.ToString())); Console.WriteLine(runSummary.ToString()); return(runSummary); }
protected override async Task<RunSummary> RunTestAsync() { var runSummary = new BenchmarkRunSummary { TestClassFullName = TestCase.TestMethod.TestClass.Class.Name, TestClass = TestCase.TestMethod.TestClass.Class.Name.Split('.').Last(), TestMethod = TestCase.DisplayName, Variation = TestCase.Variation, ProductReportingVersion = BenchmarkConfig.Instance.ProductReportingVersion, RunStarted = DateTime.UtcNow, MachineName = _machineName, Framework = _framework, WarmupIterations = TestCase.WarmupIterations, Iterations = TestCase.Iterations, }; for (int i = 0; i < TestCase.WarmupIterations; i++) { var runner = CreateRunner(i + 1, TestCase.WarmupIterations, TestCase.Variation, warmup: true); runSummary.Aggregate(await runner.RunAsync()); } var stopwatch = new Stopwatch(); for (int i = 0; i < TestCase.Iterations; i++) { TestCase.MetricCollector.Reset(); var runner = CreateRunner(i + 1, TestCase.Iterations, TestCase.Variation, warmup: false); stopwatch.Start(); // Running the actual test var result = await runner.RunAsync(); stopwatch.Stop(); runSummary.Aggregate(result); } runSummary.TimeElapsed = stopwatch.Elapsed; _diagnosticMessageSink.OnMessage(new XunitDiagnosticMessage(runSummary.ToString())); Console.WriteLine(runSummary.ToString()); return runSummary; }