diff options
author | Ned Batchelder <nedbat@gmail.com> | 2016-12-24 17:05:29 -0500 |
---|---|---|
committer | Ned Batchelder <nedbat@gmail.com> | 2016-12-24 17:05:29 -0500 |
commit | 5b71841fe7b172115051357d9d237ab8d523c593 (patch) | |
tree | 8602e1e7d7876996a41bff93adcdc22dc2444dac /coverage | |
parent | a020b6d03226f3c1bf2f6e92ce4ae8999b9187ea (diff) | |
parent | c6a957e0e0ae7bdfe8f5425182188799918dd88a (diff) | |
download | python-coveragepy-5b71841fe7b172115051357d9d237ab8d523c593.tar.gz |
Merged in dachary/coverage.py/issue-433-2 (pull request #112)
implement --skip-covered for html report #433
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/cmdline.py | 3 | ||||
-rw-r--r-- | coverage/control.py | 4 | ||||
-rw-r--r-- | coverage/html.py | 12 |
3 files changed, 14 insertions, 5 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 8942024..0b12177 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -320,6 +320,7 @@ CMDS = { Opts.include, Opts.omit, Opts.title, + Opts.skip_covered, ] + GLOBAL_ARGS, usage="[options] [modules]", description=( @@ -510,7 +511,7 @@ class CoverageScript(object): elif options.action == "html": total = self.coverage.html_report( directory=options.directory, title=options.title, - **report_args) + skip_covered=options.skip_covered, **report_args) elif options.action == "xml": outfile = options.outfile total = self.coverage.xml_report(outfile=outfile, **report_args) diff --git a/coverage/control.py b/coverage/control.py index eb0fbc4..1b7edc4 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -996,7 +996,8 @@ class Coverage(object): reporter.report(morfs, directory=directory) def html_report(self, morfs=None, directory=None, ignore_errors=None, - omit=None, include=None, extra_css=None, title=None): + omit=None, include=None, extra_css=None, title=None, + skip_covered=None): """Generate an HTML report. The HTML is written to `directory`. The file "index.html" is the @@ -1018,6 +1019,7 @@ class Coverage(object): self.config.from_args( ignore_errors=ignore_errors, omit=omit, include=include, html_dir=directory, extra_css=extra_css, html_title=title, + skip_covered=skip_covered, ) reporter = HtmlReporter(self, self.config) return reporter.report(morfs) diff --git a/coverage/html.py b/coverage/html.py index 14771dd..22783ef 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -171,6 +171,15 @@ class HtmlReporter(Reporter): def html_file(self, fr, analysis): """Generate an HTML file for one source file.""" + # Get the numbers for this file. + nums = analysis.numbers + if self.config.skip_covered: + # Don't report on 100% files. + no_missing_lines = (nums.n_missing == 0) + no_missing_branches = (nums.n_partial_branches == 0) + if no_missing_lines and no_missing_branches: + return + source = fr.source() # Find out if the file on disk is already correct. @@ -184,9 +193,6 @@ class HtmlReporter(Reporter): self.status.set_file_hash(rootname, this_hash) - # Get the numbers for this file. - nums = analysis.numbers - if self.has_arcs: missing_branch_arcs = analysis.missing_branch_arcs() arcs_executed = analysis.arcs_executed() |