Пример #1
0
        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());
        }
Пример #2
0
 public static void StartHandler(ProjectRunner projectRunner)
 {
     Pr = projectRunner;
     SetConsoleCtrlHandler(Handler, true);
 }