diff options
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/control.py | 13 | ||||
-rw-r--r-- | coverage/xmlreport.py | 9 |
2 files changed, 14 insertions, 8 deletions
diff --git a/coverage/control.py b/coverage/control.py index a337d6b..2c774ae 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -102,8 +102,12 @@ class coverage(object): if self.config.omit_prefixes: self.omit_prefixes = [self.file_locator.abs_file(p) for p in self.config.omit_prefixes] + else: + self.omit_prefixes = [] if self.config.require_prefixes: self.require_prefixes = [self.file_locator.abs_file(p) for p in self.config.require_prefixes] + else: + self.require_prefixes = [] self.collector = Collector( self._should_trace, timid=self.config.timid, @@ -192,12 +196,9 @@ class coverage(object): return canonical else: return False - elif omit_prefixes: - for prefix in prefixes: - if canonical.startswith(prefix): - return False - - code_units = filtered + for prefix in self.omit_prefixes: + if canonical.startswith(prefix): + return False return canonical diff --git a/coverage/xmlreport.py b/coverage/xmlreport.py index ab44025..4f91b1b 100644 --- a/coverage/xmlreport.py +++ b/coverage/xmlreport.py @@ -22,12 +22,17 @@ class XmlReporter(Reporter): self.xml_out = None self.arcs = coverage.data.has_arcs() - def report(self, morfs, omit_prefixes=None, outfile=None): + def report(self, morfs, omit_prefixes=None, require_prefixes=None, outfile=None): """Generate a Cobertura-compatible XML report for `morfs`. `morfs` is a list of modules or filenames. `omit_prefixes` is a list of strings, prefixes of modules to omit from the report. + `omit_prefixes` is a list of prefixes. CodeUnits that match those prefixes + will be omitted from the list. + `require_prefixes` is a list of prefixes. Only CodeUnits that match those prefixes + will be included in the list. + You are required to pass at most one of `omit_prefixes` and `require_prefixes`. """ # Initial setup. outfile = outfile or sys.stdout @@ -52,7 +57,7 @@ class XmlReporter(Reporter): # Call xml_file for each file in the data. self.packages = {} - self.report_files(self.xml_file, morfs, omit_prefixes=omit_prefixes) + self.report_files(self.xml_file, morfs, omit_prefixes=omit_prefixes, require_prefixes=require_prefixes) lnum_tot, lhits_tot = 0, 0 bnum_tot, bhits_tot = 0, 0 |