summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/control.py13
-rw-r--r--coverage/xmlreport.py9
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