summaryrefslogtreecommitdiff
path: root/coverage/testplugin.py
diff options
context:
space:
mode:
authorDavid Stanek <dstanek@dstanek.com>2010-05-21 23:40:04 -0400
committerDavid Stanek <dstanek@dstanek.com>2010-05-21 23:40:04 -0400
commitd416ec6e5be116fb42e1e5bd370f8f13cd133b2a (patch)
tree899cdac4c739caa3d74d7b04b64169c70b86b74e /coverage/testplugin.py
parent0cd2753ddb8a6d9a469ed51041f825f6a3c854ef (diff)
downloadpython-coveragepy-git-d416ec6e5be116fb42e1e5bd370f8f13cd133b2a.tar.gz
fixed the --cover-packages option
Diffstat (limited to 'coverage/testplugin.py')
-rw-r--r--coverage/testplugin.py22
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