/// <summary> /// analyzes and runs the tests given in the param file. /// </summary> public void Run() { _ciRun = true; if (_runtype == TestStorageType.Unknown) { Enum.TryParse <TestStorageType>(_ciParams["runType"], true, out _runtype); } if (_runtype == TestStorageType.Unknown) { WriteToConsole(Resources.LauncherNoRuntype); return; } if (!_ciParams.ContainsKey("resultsFilename")) { WriteToConsole(Resources.LauncherNoResFilenameFound); return; } string resultsFilename = _ciParams["resultsFilename"]; if (_ciParams.ContainsKey("uniqueTimeStamp")) { UniqueTimeStamp = _ciParams["uniqueTimeStamp"]; } else { UniqueTimeStamp = resultsFilename.ToLower().Replace("results", "").Replace(".xml", ""); } //create the runner according to type IAssetRunner runner = CreateRunner(_runtype, _ciParams); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } //run the tests! RunTests(runner, resultsFilename); if (Launcher.ExitCode != ExitCodeEnum.Passed) { Environment.Exit((int)Launcher.ExitCode); } }
/// <summary> /// analyzes and runs the tests given in the param file. /// </summary> public void Run() { _ciRun = true; if (_runType == TestStorageType.Unknown) { Enum.TryParse <TestStorageType>(_ciParams["runType"], true, out _runType); } if (_runType == TestStorageType.Unknown) { WriteToConsole(Resources.LauncherNoRuntype); return; } if (!_ciParams.ContainsKey("resultsFilename")) { WriteToConsole(Resources.LauncherNoResFilenameFound); return; } string resultsFilename = _ciParams["resultsFilename"]; UniqueTimeStamp = _ciParams.ContainsKey("uniqueTimeStamp") ? _ciParams["uniqueTimeStamp"] : resultsFilename.ToLower().Replace("results", "").Replace(".xml", ""); //run the entire set of test once //create the runner according to type IAssetRunner runner = CreateRunner(_runType, _ciParams, true); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } TestSuiteRunResults results = runner.Run(); RunTests(runner, resultsFilename, results); if (_runType.Equals(TestStorageType.FileSystem)) { string onCheckFailedTests = (_ciParams.ContainsKey("onCheckFailedTest") ? _ciParams["onCheckFailedTest"] : ""); _rerunFailedTests = !string.IsNullOrEmpty(onCheckFailedTests) && Convert.ToBoolean(onCheckFailedTests.ToLower()); //the "On failure" option is selected and the run build contains failed tests if (_rerunFailedTests.Equals(true) && Launcher.ExitCode != ExitCodeEnum.Passed) { ConsoleWriter.WriteLine("There are failed tests. Rerun the selected tests."); //rerun the selected tests (either the entire set or just the selected ones) //create the runner according to type runner = CreateRunner(_runType, _ciParams, false); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } TestSuiteRunResults rerunResults = runner.Run(); results.AppendResults(rerunResults); RunTests(runner, resultsFilename, results); } } ConsoleQuickEdit.Enable(); if (Launcher.ExitCode != ExitCodeEnum.Passed) { Environment.Exit((int)Launcher.ExitCode); } }
/// <summary> /// analyzes and runs the tests given in the param file. /// </summary> public void Run() { _ciRun = true; if (_runtype == TestStorageType.Unknown) { Enum.TryParse <TestStorageType>(_ciParams["runType"], true, out _runtype); } if (_runtype == TestStorageType.Unknown) { WriteToConsole(Resources.LauncherNoRuntype); return; } if (!_ciParams.ContainsKey("resultsFilename")) { WriteToConsole(Resources.LauncherNoResFilenameFound); return; } string resultsFilename = _ciParams["resultsFilename"]; if (_ciParams.ContainsKey("uniqueTimeStamp")) { UniqueTimeStamp = _ciParams["uniqueTimeStamp"]; } else { UniqueTimeStamp = resultsFilename.ToLower().Replace("results", "").Replace(".xml", ""); } bool initialTestRun = true; //run the entire set of test once //create the runner according to type IAssetRunner runner = CreateRunner(_runtype, _ciParams, initialTestRun); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } RunTests(runner, resultsFilename); if (_runtype.Equals(TestStorageType.Alm)) { bool filterSelected; string filter = (_ciParams.ContainsKey("FilterTests") ? _ciParams["FilterTests"] : ""); if (string.IsNullOrEmpty(filter)) { filterSelected = false; } else { filterSelected = Convert.ToBoolean(filter.ToLower()); } if (filterSelected.Equals(true) && Launcher.ExitCode != ExitCodeEnum.Passed) { //rerun selected tests initialTestRun = false; runner = CreateRunner(_runtype, _ciParams, initialTestRun); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } RunTests(runner, resultsFilename); } } if (_runtype.Equals(TestStorageType.FileSystem)) { string onCheckFailedTests = (_ciParams.ContainsKey("onCheckFailedTest") ? _ciParams["onCheckFailedTest"] : ""); if (string.IsNullOrEmpty(onCheckFailedTests)) { rerunFailedTests = false; } else { rerunFailedTests = Convert.ToBoolean(onCheckFailedTests.ToLower()); } //the "On failure" option is selected and the run build contains failed tests if (rerunFailedTests.Equals(true) && Launcher.ExitCode != ExitCodeEnum.Passed) { ConsoleWriter.WriteLine("There are failed tests. Rerun the selected tests."); initialTestRun = false; //rerun the selected tests (either the entire set or just the selected ones) //create the runner according to type runner = CreateRunner(_runtype, _ciParams, initialTestRun); //runner instantiation failed (no tests to run or other problem) if (runner == null) { Environment.Exit((int)Launcher.ExitCodeEnum.Failed); } RunTests(runner, resultsFilename); } } //Console.WriteLine("Press any key to exit..."); //Console.ReadKey(); ConsoleQuickEdit.Enable(); if (Launcher.ExitCode != ExitCodeEnum.Passed) { Environment.Exit((int)Launcher.ExitCode); } }