in scripts/metric_reporter/reporter/coverage_reporter.py [0:0]
def _parse_llvm_cov_report(self, llvm_cov_report: LlvmCovReport) -> CoverageReporterResult:
if not len(llvm_cov_report.data) == 1:
raise ReporterError(
f"The coverage report for {self.repository}-{self.workflow}-{self.test_suite} "
f"has an unexpected number of items in 'data'."
)
totals: LlvmCovTotals = llvm_cov_report.data[0].totals
return CoverageReporterResult(
repository=self.repository,
workflow=self.workflow,
test_suite=self.test_suite,
timestamp=llvm_cov_report.job_timestamp,
date=(
self._extract_date(llvm_cov_report.job_timestamp)
if llvm_cov_report.job_timestamp
else None
),
job=llvm_cov_report.job_number,
line_count=totals.lines.count,
line_covered=totals.lines.covered,
line_not_covered=totals.lines.count - totals.lines.covered,
line_percent=totals.lines.percent,
function_count=totals.functions.count,
function_covered=totals.functions.covered,
function_not_covered=totals.functions.count - totals.functions.covered,
function_percent=totals.functions.percent,
branch_count=totals.branches.count,
branch_covered=totals.branches.covered,
branch_not_covered=totals.branches.count - totals.branches.covered,
branch_percent=totals.branches.percent,
)