summaryrefslogtreecommitdiff
path: root/coverage/control.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-05-04 21:26:08 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-05-04 21:26:08 -0400
commit05ee5d209a480491a16dc8c5b5756caf15ef288d (patch)
tree3059f4f542eda593ad896d27e472f29682415d9c /coverage/control.py
parent99d3105698408aabceee02310b76d24aa76d3310 (diff)
downloadpython-coveragepy-git-05ee5d209a480491a16dc8c5b5756caf15ef288d.tar.gz
Added clear_exclude() and get_exclude_list()
Diffstat (limited to 'coverage/control.py')
-rw-r--r--coverage/control.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 2d890cc6..d5f412ad 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -17,7 +17,8 @@ class coverage:
self.parallel_mode = parallel_mode
self.cover_stdlib = cover_stdlib
- self.exclude_re = ''
+ self.exclude_re = ""
+ self.exclude_list = []
self.file_locator = FileLocator()
self.sysprefix = self.file_locator.abs_file(sys.prefix)
@@ -78,6 +79,11 @@ class coverage:
self.collector.reset()
self.data.erase()
+ def clear_exclude(self):
+ """Clear the exclude list."""
+ self.exclude_list = []
+ self.exclude_re = ""
+
def exclude(self, regex):
"""Exclude source lines from execution consideration.
@@ -87,9 +93,12 @@ class coverage:
Matching any of the regexes excludes a source line.
"""
- if self.exclude_re:
- self.exclude_re += "|"
- self.exclude_re += "(" + regex + ")"
+ self.exclude_list.append(regex)
+ self.exclude_re = "(" + ")|(".join(self.exclude_list) + ")"
+
+ def get_exclude_list(self):
+ """Return the list of excluded regex patterns."""
+ return self.exclude_list
def save(self):
self._group_collected_data()