From 3760b9876cc837f7d5d22fbadf6a0da51eb9cec5 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 31 Dec 2022 20:10:18 -0500 Subject: fix: lcov command didn't report a total, so --fail-under didn't work --- coverage/lcovreport.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'coverage/lcovreport.py') diff --git a/coverage/lcovreport.py b/coverage/lcovreport.py index 4dc73c29..10d2f51c 100644 --- a/coverage/lcovreport.py +++ b/coverage/lcovreport.py @@ -8,6 +8,7 @@ import base64 from hashlib import md5 from coverage.report import get_analysis_to_report +from coverage.results import Analysis, Numbers class LcovReporter: @@ -17,7 +18,7 @@ class LcovReporter: def __init__(self, coverage): self.coverage = coverage - self.config = self.coverage.config + self.total = Numbers(self.coverage.config.precision) def report(self, morfs, outfile=None): """Renders the full lcov report. @@ -33,12 +34,16 @@ class LcovReporter: for fr, analysis in get_analysis_to_report(self.coverage, morfs): self.get_lcov(fr, analysis, outfile) + return self.total.n_statements and self.total.pc_covered + def get_lcov(self, fr, analysis, outfile=None): """Produces the lcov data for a single file. This currently supports both line and branch coverage, however function coverage is not supported. """ + self.total += analysis.numbers + outfile.write("TN:\n") outfile.write(f"SF:{fr.relative_filename()}\n") source_lines = fr.source().splitlines() -- cgit v1.2.1