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
commita8e492ea611720996df4322a5f47e7a71f22b6c4 (patch)
tree0be28ad54bcd3d398346bd5b080135bf67e1dca5
parentf471a289d9677daf8978b15997bd1667e8681661 (diff)
downloadpython-coveragepy-a8e492ea611720996df4322a5f47e7a71f22b6c4.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 20d3589..1b54e86 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 f253160..3f471b8 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)