summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-07-09 19:30:07 -0400
committerNed Batchelder <ned@nedbatchelder.com>2016-07-09 19:30:07 -0400
commit2d3759d244a5f88101e208be8c965881f227f65b (patch)
tree4ca0af03d56096c1631b3f7d1978b0a077a25b0a
parent00f842367a49bc9c0a486cabf0dd01dd36bc72aa (diff)
downloadpython-coveragepy-git-2d3759d244a5f88101e208be8c965881f227f65b.tar.gz
Fix the check for default values of run-affecting options, and add a test
-rw-r--r--coverage/cmdline.py4
-rw-r--r--tests/test_cmdline.py8
2 files changed, 11 insertions, 1 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 20d35892..1b54e863 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -606,7 +606,9 @@ class CoverageScript(object):
# Can't set other run-affecting command line options with
# multiprocessing.
for opt_name in ['branch', 'include', 'omit', 'pylib', 'source', 'timid']:
- if getattr(options, opt_name) != getattr(Opts, opt_name).default:
+ # As it happens, all of these options have no default, meaning
+ # they will be None if they have not been specified.
+ if getattr(options, opt_name) is not None:
self.help_fn(
"Options affecting multiprocessing must be specified "
"in a configuration file."
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py
index f2531605..3f471b88 100644
--- a/tests/test_cmdline.py
+++ b/tests/test_cmdline.py
@@ -450,6 +450,14 @@ class CmdLineTest(BaseCmdLineTest):
.stop()
.save()
""")
+ self.cmd_executes("run --concurrency=multiprocessing foo.py", """\
+ .coverage(concurrency='multiprocessing')
+ .erase()
+ .start()
+ .run_python_file('foo.py', ['foo.py'])
+ .stop()
+ .save()
+ """)
def test_bad_concurrency(self):
self.command_line("run --concurrency=nothing", ret=ERR)