public void Setup() { optionsParser = new OptionsParser(); PerformanceBenchmark = new PerformanceBenchmark(); testResultXmlParser = new TestResultXmlParser(); performanceTestRunResults = new List <PerformanceTestRunResult>(); testResults = new List <TestResult>(); baselinePerformanceTestRunResults = new List <PerformanceTestRunResult>(); baselineTestResults = new List <TestResult>(); }
public static void Parse() { var args = CommandLineArgs.FromCommandLine(); var xmlResultsDirectory = string.Empty; var jsonOutputDirectory = string.Empty; if (!args.TryGetCommandLineValue(xmlResultsDirKey, ref xmlResultsDirectory) || !args.TryGetCommandLineValue(jsonOutputDirKey, ref jsonOutputDirectory)) { Debug.LogError($"You must provide valid {xmlResultsDirKey} and {jsonOutputDirKey} arguments."); return; } var jsonOutputPath = Path.GetFullPath(jsonOutputDirectory); Directory.CreateDirectory(jsonOutputPath); var testResults = Directory.EnumerateFiles(Path.GetFullPath(xmlResultsDirectory), "*.xml"); foreach (var testResult in testResults) { try { var jsonFileName = Path.ChangeExtension(Path.GetFileName(testResult), "json"); var jsonFilePath = Path.Combine(jsonOutputPath, jsonFileName); var xmlParser = new TestResultXmlParser(); var run = xmlParser.GetPerformanceTestRunFromXml(testResult); if (run == null) { Debug.LogError($"No result at given path: {testResult}"); return; } File.WriteAllText(jsonFilePath, JsonConvert.SerializeObject(run, Formatting.Indented)); } catch (Exception e) { Debug.LogException(e); } } }