summaryrefslogtreecommitdiff
path: root/coverage/lcovreport.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2022-12-31 20:10:18 -0500
committerNed Batchelder <ned@nedbatchelder.com>2022-12-31 20:39:09 -0500
commit3760b9876cc837f7d5d22fbadf6a0da51eb9cec5 (patch)
treee0e43663b1ad5448c295e3961bf017f5800e3915 /coverage/lcovreport.py
parent586726322069bab62f33dccab70101ca76f595c2 (diff)
downloadpython-coveragepy-git-3760b9876cc837f7d5d22fbadf6a0da51eb9cec5.tar.gz
fix: lcov command didn't report a total, so --fail-under didn't work
Diffstat (limited to 'coverage/lcovreport.py')
-rw-r--r--coverage/lcovreport.py7
1 files changed, 6 insertions, 1 deletions
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()