Пример #1
0
        public async Task <MsCodeCoverageCollectionStatus> IsCollectingAsync(ITestOperation testOperation)
        {
            await InitializeIsCollectingAsync(testOperation);

            if (runMsCodeCoverage == RunMsCodeCoverage.No)
            {
                logger.Log($"See option {nameof(IAppOptions.RunMsCodeCoverage)} for a better ( Beta ) experience.  {FCCGithub.Readme}");
                reportGeneratorUtil.LogCoverageProcess($"See option {nameof(IAppOptions.RunMsCodeCoverage)} for a better ( Beta ) experience. View readme.");
            }
            else
            {
                await TrySetUpForCollectionAsync(testOperation.SolutionDirectory);
            }

            ReportEndOfCoverageRunIfError();
            return(collectionStatus);
        }
Пример #2
0
        private async System.Threading.Tasks.Task <string[]> RunCoverageAsync(List <ICoverageProject> coverageProjects, CancellationToken vsShutdownLinkedCancellationToken)
        {
            // process pipeline

            await PrepareCoverageProjectsAsync(coverageProjects, vsShutdownLinkedCancellationToken);

            foreach (var coverageProject in coverageProjects)
            {
                await coverageProject.StepAsync("Run Coverage Tool", async (project) =>
                {
                    var start = DateTime.Now;

                    var coverageTool        = coverageUtilManager.CoverageToolName(project);
                    var runCoverToolMessage = $"Run {coverageTool} ({project.ProjectName})";
                    logger.Log(runCoverToolMessage);
                    reportGeneratorUtil.LogCoverageProcess(runCoverToolMessage);
                    await coverageUtilManager.RunCoverageAsync(project, vsShutdownLinkedCancellationToken);

                    var duration        = DateTime.Now - start;
                    var durationMessage = $"Completed coverage for ({coverageProject.ProjectName}) : {duration}";
                    logger.Log(durationMessage);
                    reportGeneratorUtil.LogCoverageProcess(durationMessage);
                });

                if (coverageProject.HasFailed)
                {
                    var coverageStagePrefix = String.IsNullOrEmpty(coverageProject.FailureStage) ? "" : $"{coverageProject.FailureStage} ";
                    var failureMessage      = $"{coverageProject.FailureStage}({coverageProject.ProjectName}) Failed.";
                    logger.Log(failureMessage, coverageProject.FailureDescription);
                    reportGeneratorUtil.LogCoverageProcess(failureMessage + "  See the FCC Output Pane");
                }
            }

            var passedProjects = coverageProjects.Where(p => !p.HasFailed);

            return(passedProjects
                   .Select(x => x.CoverageOutputFile)
                   .ToArray());
        }
 private void CombinedLog(string message)
 {
     reportGeneratorUtil.LogCoverageProcess(message);
     logger.Log(message);
 }