private static void Main(string[] args) { var aggregateTestRunResults = new List <PerformanceTestRunResult>(); var baselinePerformanceTestRunResults = new List <PerformanceTestRunResult>(); var baselineTestResults = new List <TestResult>(); var performanceTestRunResults = new List <PerformanceTestRunResult>(); var testResults = new List <TestResult>(); var performanceBenchmark = new PerformanceBenchmark(ExcludedConfigFieldNames); var optionsParser = new OptionsParser(); optionsParser.ParseOptions(performanceBenchmark, args); var testResultXmlParser = new TestResultXmlParser(); if (performanceBenchmark.BaselineResultFilesExist) { performanceBenchmark.AddBaselinePerformanceTestRunResults(testResultXmlParser, baselinePerformanceTestRunResults, baselineTestResults); if (baselinePerformanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(baselinePerformanceTestRunResults); } else { Environment.Exit(1); } } if (performanceBenchmark.ResultFilesExist) { performanceBenchmark.AddPerformanceTestRunResults(testResultXmlParser, performanceTestRunResults, testResults, baselineTestResults); if (performanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(performanceTestRunResults); } else { Environment.Exit(1); } } var reportWriter = new ReportWriter(ExcludedConfigFieldNames); reportWriter.WriteReport( aggregateTestRunResults, performanceBenchmark.MetadataValidator, performanceBenchmark.SigFig, performanceBenchmark.ReportDirPath, performanceBenchmark.BaselineResultFilesExist); }
private static void Main(string[] args) { var aggregateTestRunResults = new List <PerformanceTestRunResult>(); var baselinePerformanceTestRunResults = new List <PerformanceTestRunResult>(); var baselineTestResults = new List <TestResult>(); var performanceTestRunResults = new List <PerformanceTestRunResult>(); var testResults = new List <TestResult>(); var performanceBenchmark = new PerformanceBenchmark(ExcludedConfigFieldNames); var optionsParser = new OptionsParser(); optionsParser.ParseOptions(performanceBenchmark, args); var testResultXmlParser = new TestResultXmlParser(); if (performanceBenchmark.BaselineResultFilesExist) { performanceBenchmark.AddBaselinePerformanceTestRunResults(testResultXmlParser, baselinePerformanceTestRunResults, baselineTestResults); if (baselinePerformanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(baselinePerformanceTestRunResults); } else { Environment.Exit(1); } } if (performanceBenchmark.ResultFilesExist) { performanceBenchmark.AddPerformanceTestRunResults(testResultXmlParser, performanceTestRunResults, testResults, baselineTestResults); if (performanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(performanceTestRunResults); } else { Environment.Exit(1); } } var performanceTestResults = new PerformanceTestRunResult[0]; if (aggregateTestRunResults.Any(a => a.IsBaseline)) { Array.Resize(ref performanceTestResults, 1); performanceTestResults[0] = aggregateTestRunResults.First(a => a.IsBaseline); } var nonBaselineTestRunResults = aggregateTestRunResults.Where(a => !a.IsBaseline).ToList(); nonBaselineTestRunResults.Sort((run1, run2) => string.Compare(run1.ResultName, run2.ResultName, StringComparison.Ordinal)); foreach (var performanceTestRunResult in nonBaselineTestRunResults) { Array.Resize(ref performanceTestResults, performanceTestResults.Length + 1); performanceTestResults[performanceTestResults.Length - 1] = performanceTestRunResult; } var reportWriter = new ReportWriter(performanceBenchmark.TestRunMetadataProcessor); reportWriter.WriteReport( performanceTestResults, performanceBenchmark.SigFig, performanceBenchmark.ReportDirPath, performanceBenchmark.ReportHtmlName, performanceBenchmark.BaselineResultFilesExist); }
private static int Main(string[] args) { var aggregateTestRunResults = new List <PerformanceTestRunResult>(); var baselinePerformanceTestRunResults = new List <PerformanceTestRunResult>(); var baselineTestResults = new List <TestResult>(); var performanceTestRunResults = new List <PerformanceTestRunResult>(); var testResults = new List <TestResult>(); var performanceBenchmark = new PerformanceBenchmark(ExcludedConfigFieldNames); var optionsParser = new OptionsParser(); optionsParser.ParseOptions(performanceBenchmark, args); var testResultXmlParser = new TestResultXmlParser(); if (performanceBenchmark.BaselineResultFilesExist) { performanceBenchmark.AddBaselinePerformanceTestRunResults(testResultXmlParser, baselinePerformanceTestRunResults, baselineTestResults); if (baselinePerformanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(baselinePerformanceTestRunResults); } else { Environment.Exit(1); } } if (performanceBenchmark.ResultFilesExist) { performanceBenchmark.AddPerformanceTestRunResults(testResultXmlParser, performanceTestRunResults, testResults, baselineTestResults); if (performanceTestRunResults.Any()) { aggregateTestRunResults.AddRange(performanceTestRunResults); } else { Environment.Exit(1); } } var performanceTestResults = new PerformanceTestRunResult[0]; // If we have a baseline if (aggregateTestRunResults.Any(a => a.IsBaseline)) { // Insert the baseline in the front of the array results; this way we can display the baseline first in the report Array.Resize(ref performanceTestResults, 1); performanceTestResults[0] = aggregateTestRunResults.First(a => a.IsBaseline); } var nonBaselineTestRunResults = aggregateTestRunResults.Where(a => !a.IsBaseline).ToList(); nonBaselineTestRunResults.Sort((run1, run2) => string.Compare(run1.ResultName, run2.ResultName, StringComparison.Ordinal)); foreach (var performanceTestRunResult in nonBaselineTestRunResults) { Array.Resize(ref performanceTestResults, performanceTestResults.Length + 1); performanceTestResults[performanceTestResults.Length - 1] = performanceTestRunResult; } performanceBenchmark.TestRunMetadataProcessor.PerformFinalMetadataUpdate(performanceBenchmark); var reportWriter = new ReportWriter(performanceBenchmark.TestRunMetadataProcessor); reportWriter.WriteReport( performanceTestResults, performanceBenchmark.SigFig, performanceBenchmark.ReportDirPath, performanceBenchmark.BaselineResultFilesExist); return(WriteFailedTestsAndMetricsToConsole(performanceTestResults, performanceBenchmark)); }