diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2016-07-09 19:30:07 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2016-07-09 19:30:07 -0400 |
commit | a8e492ea611720996df4322a5f47e7a71f22b6c4 (patch) | |
tree | 0be28ad54bcd3d398346bd5b080135bf67e1dca5 | |
parent | f471a289d9677daf8978b15997bd1667e8681661 (diff) | |
download | python-coveragepy-a8e492ea611720996df4322a5f47e7a71f22b6c4.tar.gz |
Fix the check for default values of run-affecting options, and add a test
-rw-r--r-- | coverage/cmdline.py | 4 | ||||
-rw-r--r-- | tests/test_cmdline.py | 8 |
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) |