summaryrefslogtreecommitdiff
path: root/coverage/control.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-01-30 21:07:25 -0500
committerNed Batchelder <ned@nedbatchelder.com>2015-01-30 21:07:25 -0500
commit6c631d76f22c50220bba51ec3191260d7e74b11f (patch)
tree13d62e18be0149d11b6f772172b712a5a827ecb3 /coverage/control.py
parentcab3262dd815c454e8db967f97afce8a4b071d4c (diff)
downloadpython-coveragepy-git-6c631d76f22c50220bba51ec3191260d7e74b11f.tar.gz
Wildly experimental multiprocessing support. Covers most of #117.
Diffstat (limited to 'coverage/control.py')
-rw-r--r--coverage/control.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 319f56dc..f422d7c0 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -21,6 +21,7 @@ from coverage.files import ModuleMatcher
from coverage.html import HtmlReporter
from coverage.misc import CoverageException, bool_or_none, join_regex
from coverage.misc import file_be_gone, overrides
+from coverage.monkey import patch_multiprocessing
from coverage.plugin import CoveragePlugin, FileReporter
from coverage.python import PythonCodeUnit
from coverage.results import Analysis, Numbers
@@ -219,13 +220,18 @@ class Coverage(object):
self.omit = prep_patterns(self.config.omit)
self.include = prep_patterns(self.config.include)
+ concurrency = self.config.concurrency
+ if concurrency == "multiprocessing":
+ patch_multiprocessing()
+ concurrency = None
+
self.collector = Collector(
should_trace=self._should_trace,
check_include=self._check_include_omit_etc,
timid=self.config.timid,
branch=self.config.branch,
warn=self._warn,
- concurrency=self.config.concurrency,
+ concurrency=concurrency,
)
# Suffixes are a bit tricky. We want to use the data suffix only when
@@ -544,6 +550,8 @@ class Coverage(object):
def _warn(self, msg):
"""Use `msg` as a warning."""
self._warnings.append(msg)
+ if self.debug.should("pid"):
+ msg = "[%d] %s" % (os.getpid(), msg)
sys.stderr.write("Coverage.py warning: %s\n" % msg)
def use_cache(self, usecache):