private static void ProcessMethodCoverage(TraceFile trace, Archive archive, Config.ConfigForProcess processConfig, IUpload upload) { string version = trace.FindVersion(processConfig.VersionAssembly); if (version == null) { logger.Info("Archiving {trace} because it does not contain the version assembly {versionAssembly}", trace.FilePath, processConfig.VersionAssembly); archive.ArchiveFileWithoutVersionAssembly(trace.FilePath); return; } string prefixedVersion = processConfig.VersionPrefix + version; logger.Info("Uploading {trace} to {upload} with version {version}", trace.FilePath, upload.Describe(), prefixedVersion); if (RunSync(upload.UploadAsync(trace.FilePath, prefixedVersion))) { archive.ArchiveUploadedFile(trace.FilePath); } else { logger.Error("Upload of {trace} to {upload} failed. Will retry later", trace.FilePath, upload.Describe()); } }
private void ProcessLineCoverage(TraceFile trace, Archive archive, Config config, Config.ConfigForProcess processConfig, IUpload upload, LineCoverageMerger coverageMerger) { logger.Debug("Preparing line coverage from {traceFile} for {upload}", trace.FilePath, upload.Describe()); RevisionFileUtils.RevisionOrTimestamp timestampOrRevision = ParseRevisionFile(trace, processConfig); Dictionary <string, FileCoverage> lineCoverage = ConvertTraceFileToLineCoverage(trace, archive, processConfig); if (timestampOrRevision == null || lineCoverage == null) { return; } if (config.ArchiveLineCoverage) { archive.ArchiveLineCoverage(Path.GetFileName(trace.FilePath) + ".simple", LineCoverageSynthesizer.ConvertToLineCoverageReport(lineCoverage)); } if (processConfig.MergeLineCoverage) { logger.Debug("Merging line coverage from {traceFile} into previous line coverage", trace.FilePath); coverageMerger.AddLineCoverage(trace.FilePath, timestampOrRevision, upload, lineCoverage); return; } logger.Debug("Uploading line coverage from {traceFile} to {upload}", trace.FilePath, upload.Describe()); string report = LineCoverageSynthesizer.ConvertToLineCoverageReport(lineCoverage); if (RunSync(upload.UploadLineCoverageAsync(trace.FilePath, report, timestampOrRevision))) { archive.ArchiveUploadedFile(trace.FilePath); } else { logger.Error("Failed to upload line coverage from {traceFile} to {upload}. Will retry later", trace.FilePath, upload.Describe()); } }