public async Task <List <FeatureEvidence> > PerformChecks() { var projectBuilder = new ProjectBuilder(checkConfig.PathManager.ModifiedTestDirPath, new FeatureRunner()); var projectBuilderTask = projectBuilder.Execute(); var projectRunner = new ProjectRunner(checkConfig.PathManager.ModifiedTestDirPath, new FeatureRunner(), projectBuilderTask); var projectRunnerTask = projectRunner.Execute(); var portTask = projectRunner.GetPort(); var checks = new ICheck[] { new CodeCoverageCheck(checkConfig, projectBuilderTask), new DuplicationCheckRunner(checkConfig), new FileChangeFinder(checkConfig), new UICodeCheck(UIKeywords.MILE_KEYWORDS, checkConfig), new GitCheck(checkConfig), new TestCountCheck(checkConfig, projectBuilderTask), new UICheck(portTask, projectRunnerTask), new UnitConverterCheck(portTask, projectRunnerTask), new BadInputCheck(portTask, projectRunnerTask) }; var featureTasks = new[] { projectBuilderTask, projectRunnerTask }.Concat(checks.Select(c => c.Execute()).ToArray()); var featureEvidences = await Task.WhenAll(featureTasks); projectRunner.KillProject(); projectRunner.ReportLefOverProcess(); return(featureEvidences.SelectMany(x => x).ToList()); }
public static void StartHandler(ProjectRunner projectRunner) { Pr = projectRunner; SetConsoleCtrlHandler(Handler, true); }