diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-23 07:30:07 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-23 07:30:07 -0500 |
commit | ab861cc4535777fed86e6cb36b3608b4fc8c079d (patch) | |
tree | 50b8f1cc7ba3508dce78f157c49b4c10f5564b8b /coverage | |
parent | 622742746327abccd848d40583c9d7bc8bcb096c (diff) | |
parent | 994a6f8c169094d406bad7e63a33b5d99fe38c2b (diff) | |
download | python-coveragepy-git-ab861cc4535777fed86e6cb36b3608b4fc8c079d.tar.gz |
Merged pull request 43: --skip-covered
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/cmdline.py | 9 | ||||
-rw-r--r-- | coverage/config.py | 2 | ||||
-rw-r--r-- | coverage/control.py | 4 | ||||
-rw-r--r-- | coverage/summary.py | 3 |
4 files changed, 15 insertions, 3 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index e7efe5c4..f776950a 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -62,6 +62,10 @@ class Opts(object): help="Show line numbers of statements in each module that weren't " "executed." ) + skip_covered = optparse.make_option( + '-s', '--skip-covered', action='store_true', + help="Skip files with 100% coverage." + ) omit = optparse.make_option( '', '--omit', action='store', metavar="PAT1,PAT2,...", @@ -135,6 +139,7 @@ class CoverageOptionParser(optparse.OptionParser, object): pylib=None, rcfile=True, show_missing=None, + skip_covered=None, source=None, timid=None, title=None, @@ -283,6 +288,7 @@ CMDS = { Opts.omit, Opts.include, Opts.show_missing, + Opts.skip_covered ] + GLOBAL_ARGS, usage = "[options] [modules]", description = "Report coverage statistics on modules." @@ -426,7 +432,8 @@ class CoverageScript(object): if options.action == "report": total = self.coverage.report( - show_missing=options.show_missing, **report_args) + show_missing=options.show_missing, + skip_covered=options.skip_covered, **report_args) if options.action == "annotate": self.coverage.annotate( directory=options.directory, **report_args) diff --git a/coverage/config.py b/coverage/config.py index ba288f05..9598f74d 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -160,6 +160,7 @@ class CoverageConfig(object): self.partial_always_list = DEFAULT_PARTIAL_ALWAYS[:] self.precision = 0 self.show_missing = False + self.skip_covered = False # Defaults for [html] self.html_dir = "htmlcov" @@ -248,6 +249,7 @@ class CoverageConfig(object): ('partial_always_list', 'report:partial_branches_always', 'linelist'), ('precision', 'report:precision', 'int'), ('show_missing', 'report:show_missing', 'boolean'), + ('skip_covered', 'report:skip_covered', 'boolean'), # [html] ('html_dir', 'html:directory'), diff --git a/coverage/control.py b/coverage/control.py index a0a70de3..6ab5b4e4 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -732,7 +732,7 @@ class Coverage(object): def report(self, morfs=None, show_missing=True, ignore_errors=None, file=None, # pylint: disable=redefined-builtin - omit=None, include=None + omit=None, include=None, skip_covered=False, ): """Write a summary report to `file`. @@ -749,7 +749,7 @@ class Coverage(object): self._harvest_data() self.config.from_args( ignore_errors=ignore_errors, omit=omit, include=include, - show_missing=show_missing, + show_missing=show_missing, skip_covered=skip_covered, ) reporter = SummaryReporter(self, self.config) return reporter.report(morfs, outfile=file) diff --git a/coverage/summary.py b/coverage/summary.py index a166ec2c..c9877658 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -54,6 +54,9 @@ class SummaryReporter(Reporter): try: analysis = self.coverage._analyze(cu) nums = analysis.numbers + if self.config.skip_covered and nums.n_missing == 0 and \ + (not self.branches or nums.n_partial_branches == 0): + continue args = (cu.name, nums.n_statements, nums.n_missing) if self.branches: args += (nums.n_branches, nums.n_partial_branches) |