summaryrefslogtreecommitdiff
path: root/coverage/lcovreport.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2022-12-31 20:20:54 -0500
committerNed Batchelder <ned@nedbatchelder.com>2022-12-31 20:39:09 -0500
commit0bf14e2d297599bb0b0454b1b2636171aefb1882 (patch)
tree5d6b5d2eaea82c1b2c94f33656dc0799f6384c91 /coverage/lcovreport.py
parent3760b9876cc837f7d5d22fbadf6a0da51eb9cec5 (diff)
downloadpython-coveragepy-git-0bf14e2d297599bb0b0454b1b2636171aefb1882.tar.gz
mypy: add lcovreport.py
Diffstat (limited to 'coverage/lcovreport.py')
-rw-r--r--coverage/lcovreport.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/coverage/lcovreport.py b/coverage/lcovreport.py
index 10d2f51c..5a84f0f2 100644
--- a/coverage/lcovreport.py
+++ b/coverage/lcovreport.py
@@ -3,12 +3,22 @@
"""LCOV reporting for coverage.py."""
+from __future__ import annotations
+
import sys
import base64
from hashlib import md5
+from typing import IO, Iterable, Optional, TYPE_CHECKING
+
+from coverage.plugin import FileReporter
from coverage.report import get_analysis_to_report
from coverage.results import Analysis, Numbers
+from coverage.types import TMorf
+
+if TYPE_CHECKING:
+ from coverage import Coverage
+ from coverage.data import CoverageData
class LcovReporter:
@@ -16,11 +26,11 @@ class LcovReporter:
report_type = "LCOV report"
- def __init__(self, coverage):
+ def __init__(self, coverage: Coverage) -> None:
self.coverage = coverage
self.total = Numbers(self.coverage.config.precision)
- def report(self, morfs, outfile=None):
+ def report(self, morfs: Optional[Iterable[TMorf]], outfile: IO[str]) -> float:
"""Renders the full lcov report.
'morfs' is a list of modules or filenames
@@ -36,7 +46,7 @@ class LcovReporter:
return self.total.n_statements and self.total.pc_covered
- def get_lcov(self, fr, analysis, outfile=None):
+ def get_lcov(self, fr: FileReporter, analysis: Analysis, outfile: IO[str]) -> None:
"""Produces the lcov data for a single file.
This currently supports both line and branch coverage,