Merge pull request #4966 from blueyed/fix-preparse

config: fix consider_preparse with missing argument to -p
This commit is contained in:
Daniel Hahler 2019-03-21 19:12:57 +01:00 committed by GitHub
commit 15d608867d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

View File

@ -481,7 +481,10 @@ class PytestPluginManager(PluginManager):
i += 1 i += 1
if isinstance(opt, six.string_types): if isinstance(opt, six.string_types):
if opt == "-p": if opt == "-p":
parg = args[i] try:
parg = args[i]
except IndexError:
return
i += 1 i += 1
elif opt.startswith("-p"): elif opt.startswith("-p"):
parg = opt[2:] parg = opt[2:]

View File

@ -313,6 +313,9 @@ class TestPytestPluginManagerBootstrapming(object):
assert '"hello123"' in excinfo.value.args[0] assert '"hello123"' in excinfo.value.args[0]
pytestpm.consider_preparse(["-pno:hello123"]) pytestpm.consider_preparse(["-pno:hello123"])
# Handles -p without following arg (when used without argparse).
pytestpm.consider_preparse(["-p"])
def test_plugin_prevent_register(self, pytestpm): def test_plugin_prevent_register(self, pytestpm):
pytestpm.consider_preparse(["xyz", "-p", "no:abc"]) pytestpm.consider_preparse(["xyz", "-p", "no:abc"])
l1 = pytestpm.get_plugins() l1 = pytestpm.get_plugins()