diff options
author | Zooko Ofsimplegeo <zooko@simplegeo.com> | 2010-04-19 16:08:37 -0600 |
---|---|---|
committer | Zooko Ofsimplegeo <zooko@simplegeo.com> | 2010-04-19 16:08:37 -0600 |
commit | 3fa1d99066ecbbd02b15885b18c6e99385733954 (patch) | |
tree | fcf1a4755626614cdda21a42b4c87f449bda1615 /coverage/config.py | |
parent | 5c2e817e0606ee912fbb4f44550d8b29cf0cd278 (diff) | |
download | python-coveragepy-3fa1d99066ecbbd02b15885b18c6e99385733954.tar.gz |
add a --require option to specify directories which are required to be at the beginning of the path for any file that is going to be included in code coverage
make the --omit and --require options apply to code coverage generation as well as to reporting; This speeds up tests from 6 seconds to 1 second on my system, as well as making the resulting .coverage db include *only* the code that I care about, which helps with my code coverage progression/regression tool.
Diffstat (limited to 'coverage/config.py')
-rw-r--r-- | coverage/config.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/coverage/config.py b/coverage/config.py index 8f508f2..92d8301 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -25,6 +25,7 @@ class CoverageConfig(object): self.exclude_list = ['(?i)# *pragma[: ]*no *cover'] self.ignore_errors = False self.omit_prefixes = None + self.require_prefixes = None # Defaults for [html] self.html_dir = "htmlcov" @@ -67,6 +68,26 @@ class CoverageConfig(object): self.parallel = cp.getboolean('run', 'parallel') if cp.has_option('run', 'timid'): self.timid = cp.getboolean('run', 'timid') + if cp.has_option('run', 'omit'): + # omit is a list of prefixes, on separate lines, or separated by + # commas. + omit_list = cp.get('run', 'omit') + self.omit_prefixes = [] + for omit_line in omit_list.split('\n'): + for omit in omit_line.split(','): + omit = omit.strip() + if omit: + self.omit_prefixes.append(omit) + if cp.has_option('run', 'require'): + # require is a list of prefixes, on separate lines, or separated by + # commas. + require_list = cp.get('run', 'require') + self.require_prefixes = [] + for require_line in require_list.split('\n'): + for require in require_line.split(','): + require = require.strip() + if require: + self.require_prefixes.append(require) # [report] if cp.has_option('report', 'exclude_lines'): @@ -85,6 +106,16 @@ class CoverageConfig(object): omit = omit.strip() if omit: self.omit_prefixes.append(omit) + if cp.has_option('report', 'require'): + # require is a list of prefixes, on separate lines, or separated by + # commas. + require_list = cp.get('report', 'require') + self.require_prefixes = [] + for require_line in require_list.split('\n'): + for require in require_line.split(','): + require = require.strip() + if require: + self.require_prefixes.append(require) # [html] if cp.has_option('html', 'directory'): |