diff options
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/config.py | 27 | ||||
-rw-r--r-- | coverage/control.py | 17 | ||||
-rw-r--r-- | coverage/report.py | 8 |
3 files changed, 34 insertions, 18 deletions
diff --git a/coverage/config.py b/coverage/config.py index 11b7056..d4d320b 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -178,6 +178,10 @@ class CoverageConfig(object): self.attempted_config_files = [] self.config_files = [] + # Defaults for [run] and [report] + self._include = None + self._omit = None + # Defaults for [run] self.branch = False self.concurrency = None @@ -189,14 +193,16 @@ class CoverageConfig(object): self.parallel = False self.plugins = [] self.source = None + self.run_include = None + self.run_omit = None self.timid = False # Defaults for [report] self.exclude_list = DEFAULT_EXCLUDE[:] self.fail_under = 0 self.ignore_errors = False - self.include = None - self.omit = None + self.report_include = None + self.report_omit = None self.partial_always_list = DEFAULT_PARTIAL_ALWAYS[:] self.partial_list = DEFAULT_PARTIAL[:] self.precision = 0 @@ -218,7 +224,8 @@ class CoverageConfig(object): # Options for plugins self.plugin_options = {} - MUST_BE_LIST = ["concurrency", "debug", "disable_warnings", "include", "omit", "plugins"] + MUST_BE_LIST = ["run_omit", "run_include", "report_omit", "report_include", + "debug", "plugins", "concurrency"] def from_args(self, **kwargs): """Read config values from `kwargs`.""" @@ -315,9 +322,9 @@ class CoverageConfig(object): ('data_file', 'run:data_file'), ('debug', 'run:debug', 'list'), ('disable_warnings', 'run:disable_warnings', 'list'), - ('include', 'run:include', 'list'), + ('_include', 'run:include', 'list'), ('note', 'run:note'), - ('omit', 'run:omit', 'list'), + ('_omit', 'run:omit', 'list'), ('parallel', 'run:parallel', 'boolean'), ('plugins', 'run:plugins', 'list'), ('source', 'run:source', 'list'), @@ -327,8 +334,8 @@ class CoverageConfig(object): ('exclude_list', 'report:exclude_lines', 'regexlist'), ('fail_under', 'report:fail_under', 'int'), ('ignore_errors', 'report:ignore_errors', 'boolean'), - ('include', 'report:include', 'list'), - ('omit', 'report:omit', 'list'), + ('_include', 'report:include', 'list'), + ('_omit', 'report:omit', 'list'), ('partial_always_list', 'report:partial_branches_always', 'regexlist'), ('partial_list', 'report:partial_branches', 'regexlist'), ('precision', 'report:precision', 'int'), @@ -459,6 +466,12 @@ def read_coverage_config(config_file, **kwargs): if config_read: break + for attr in ('_omit', '_include'): + value = getattr(config, attr) + if value is not None: + for section in ('run', 'report'): + setattr(config, section + attr, value) + # 3) from environment variables: env_data_file = os.environ.get('COVERAGE_FILE') if env_data_file: diff --git a/coverage/control.py b/coverage/control.py index 2cbe491..c2fe806 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -143,7 +143,8 @@ class Coverage(object): config_file=config_file, data_file=data_file, cover_pylib=cover_pylib, timid=timid, branch=branch, parallel=bool_or_none(data_suffix), - source=source, omit=omit, include=include, debug=debug, + source=source, run_omit=omit, run_include=include, debug=debug, + report_omit=omit, report_include=include, concurrency=concurrency, ) @@ -235,8 +236,8 @@ class Coverage(object): self.source_pkgs.append(src) self.source_pkgs_unmatched = self.source_pkgs[:] - self.omit = prep_patterns(self.config.omit) - self.include = prep_patterns(self.config.include) + self.omit = prep_patterns(self.config.run_omit) + self.include = prep_patterns(self.config.run_include) concurrency = self.config.concurrency or [] if "multiprocessing" in concurrency: @@ -346,6 +347,8 @@ class Coverage(object): if self.pylib_paths: self.pylib_match = TreeMatcher(self.pylib_paths) if self.include: + if self.source or self.source_pkgs: + print("--include is ignored because --source is set") self.include_match = FnmatchMatcher(self.include) if self.omit: self.omit_match = FnmatchMatcher(self.omit) @@ -1029,7 +1032,7 @@ class Coverage(object): """ self.get_data() self.config.from_args( - ignore_errors=ignore_errors, omit=omit, include=include, + ignore_errors=ignore_errors, report_omit=omit, report_include=include, show_missing=show_missing, skip_covered=skip_covered, ) reporter = SummaryReporter(self, self.config) @@ -1051,7 +1054,7 @@ class Coverage(object): """ self.get_data() self.config.from_args( - ignore_errors=ignore_errors, omit=omit, include=include + ignore_errors=ignore_errors, report_omit=omit, report_include=include ) reporter = AnnotateReporter(self, self.config) reporter.report(morfs, directory=directory) @@ -1078,7 +1081,7 @@ class Coverage(object): """ self.get_data() self.config.from_args( - ignore_errors=ignore_errors, omit=omit, include=include, + ignore_errors=ignore_errors, report_omit=omit, report_include=include, html_dir=directory, extra_css=extra_css, html_title=title, skip_covered=skip_covered, ) @@ -1103,7 +1106,7 @@ class Coverage(object): """ self.get_data() self.config.from_args( - ignore_errors=ignore_errors, omit=omit, include=include, + ignore_errors=ignore_errors, report_omit=omit, report_include=include, xml_output=outfile, ) file_to_close = None diff --git a/coverage/report.py b/coverage/report.py index 609dc2d..b460863 100644 --- a/coverage/report.py +++ b/coverage/report.py @@ -54,12 +54,12 @@ class Reporter(object): """ reporters = self.coverage._get_file_reporters(morfs) - if self.config.include: - matcher = FnmatchMatcher(prep_patterns(self.config.include)) + if self.config.report_include: + matcher = FnmatchMatcher(prep_patterns(self.config.report_include)) reporters = [fr for fr in reporters if matcher.match(fr.filename)] - if self.config.omit: - matcher = FnmatchMatcher(prep_patterns(self.config.omit)) + if self.config.report_omit: + matcher = FnmatchMatcher(prep_patterns(self.config.report_omit)) reporters = [fr for fr in reporters if not matcher.match(fr.filename)] self._file_reporters = sorted(reporters) |