From cbe2e205dac99f20afff4ccdeca21fd10d596565 Mon Sep 17 00:00:00 2001 From: Bradley Burns <56638814+bradb423@users.noreply.github.com> Date: Sat, 22 Jan 2022 20:14:23 +0000 Subject: feat: add "lcov" command for generating LCOV reports * Add LCOV functionality into coverage.py * Add testing for the LCOV reporter * Add documentation for the LCOV reporter --- coverage/control.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index 99319c05..bd51ffc5 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -26,6 +26,7 @@ from coverage.files import PathAliases, abs_file, relative_filename, set_relativ from coverage.html import HtmlReporter from coverage.inorout import InOrOut from coverage.jsonreport import JsonReporter +from coverage.lcovreport import LcovReporter from coverage.misc import bool_or_none, join_regex, human_sorted, human_sorted_items from coverage.misc import DefaultValue, ensure_dir_for_file, isolate_module from coverage.plugin import FileReporter @@ -1049,6 +1050,25 @@ class Coverage: ): return render_report(self.config.json_output, JsonReporter(self), morfs, self._message) + def lcov_report( + self, morfs=None, outfile=None, ignore_errors=None, + omit=None, include=None, contexts=None, + ): + """Generate an LCOV report of coverage results. + + Each module in 'morfs' is included in the report. 'outfile' is the + path to write the file to, "-" will write to stdout. + + See :meth 'report' for other arguments. + + .. versionadded:: 6.3 + """ + with override_config(self, + ignore_errors=ignore_errors, report_omit=omit, report_include=include, + lcov_output=outfile, report_contexts=contexts, + ): + return render_report(self.config.lcov_output, LcovReporter(self), morfs, self._message) + def sys_info(self): """Return a list of (key, value) pairs showing internal information.""" -- cgit v1.2.1