diff options
author | David Stanek <dstanek@dstanek.com> | 2010-05-21 23:40:04 -0400 |
---|---|---|
committer | David Stanek <dstanek@dstanek.com> | 2010-05-21 23:40:04 -0400 |
commit | d416ec6e5be116fb42e1e5bd370f8f13cd133b2a (patch) | |
tree | 899cdac4c739caa3d74d7b04b64169c70b86b74e /coverage/testplugin.py | |
parent | 0cd2753ddb8a6d9a469ed51041f825f6a3c854ef (diff) | |
download | python-coveragepy-git-d416ec6e5be116fb42e1e5bd370f8f13cd133b2a.tar.gz |
fixed the --cover-packages option
Diffstat (limited to 'coverage/testplugin.py')
-rw-r--r-- | coverage/testplugin.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/coverage/testplugin.py b/coverage/testplugin.py index 3cef47c6..f6857586 100644 --- a/coverage/testplugin.py +++ b/coverage/testplugin.py @@ -33,7 +33,7 @@ class CoverageTestWrapper(object): self.coverage = None self.coverTests = options.cover_tests - self.coverPackage = options.cover_package + self.coverPackages = options.cover_package def start(self): # Set up coverage @@ -55,10 +55,11 @@ class CoverageTestWrapper(object): self.coverage.save() modules = [] - if self.coverPackage: + if self.coverPackages: for name, module in sys.modules.items(): - if module is not None and name.startswith(self.coverPackage): - modules.append(module) + for package in self.coverPackages: + if module is not None and name.startswith(package): + modules.append(module) # Remaining actions are reporting, with some common self.options. report_args = { @@ -105,10 +106,11 @@ report Report coverage stats on modules. xml Create an XML report of coverage results. """.strip()), optparse.Option( - '--cover-package', action='store', + '--cover-package', action='append', default=[], dest="cover_package", metavar="COVER_PACKAGE", - help="Restrict coverage output to selected package" + help=("Restrict coverage output to selected package " + "- can be specified multiple times") ), optparse.Option("--cover-tests", action="store_true", dest="cover_tests", @@ -205,16 +207,14 @@ class DoCover: # Monkey patch omit_filter to use regex patterns for file omits def omit_filter(omit_prefixes, code_units): import re - exclude_patterns = [re.compile(line.strip()) for line in omit_prefixes if line and not line.startswith('#')] + exclude_patterns = [re.compile(line.strip()) for line in omit_prefixes + if line and not line.startswith('#')] filtered = [] for cu in code_units: - skip = False for pattern in exclude_patterns: if pattern.search(cu.filename): - skip = True break - - if not skip: + else: filtered.append(cu) return filtered |