Skip to content

Commit 39b51c6

Browse files
author
Buck Golemon
committed
simplify: combine parse_known{,_and_unknown}_arguments
1 parent b183ab6 commit 39b51c6

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

_pytest/config.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -477,12 +477,6 @@ def _getparser(self):
477477
return optparser
478478

479479
def parse_known_args(self, args, namespace=None):
480-
"""parses and returns a namespace object with known arguments at this
481-
point.
482-
"""
483-
return self.parse_known_and_unknown_args(args, namespace=namespace)[0]
484-
485-
def parse_known_and_unknown_args(self, args, namespace=None):
486480
"""parses and returns a namespace object with known arguments, and
487481
the remaining arguments unknown at this point.
488482
"""
@@ -897,7 +891,7 @@ def pytest_load_initial_conftests(self, early_config):
897891
self.pluginmanager._set_initial_conftests(early_config.known_args_namespace)
898892

899893
def _initini(self, args):
900-
ns, unknown_args = self._parser.parse_known_and_unknown_args(args, namespace=self.option.copy())
894+
ns, unknown_args = self._parser.parse_known_args(args, namespace=self.option.copy())
901895
r = determine_setup(ns.inifilename, ns.file_or_dir + unknown_args)
902896
self.rootdir, self.inifile, self.inicfg = r
903897
self._parser.extra_info['rootdir'] = self.rootdir
@@ -918,7 +912,8 @@ def _preparse(self, args, addopts=True):
918912
except ImportError as e:
919913
self.warn("I2", "could not load setuptools entry import: %s" % (e,))
920914
self.pluginmanager.consider_env()
921-
self.known_args_namespace = ns = self._parser.parse_known_args(args, namespace=self.option.copy())
915+
self.known_args_namespace = ns = self.option.copy()
916+
self._parser.parse_known_args(args, namespace=ns)
922917
if self.known_args_namespace.confcutdir is None and self.inifile:
923918
confcutdir = py.path.local(self.inifile).dirname
924919
self.known_args_namespace.confcutdir = confcutdir

testing/test_parseopt.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,14 @@ def test_parse2(self, parser):
105105
def test_parse_known_args(self, parser):
106106
parser.parse_known_args([py.path.local()])
107107
parser.addoption("--hello", action="store_true")
108-
ns = parser.parse_known_args(["x", "--y", "--hello", "this"])
108+
ns, _ = parser.parse_known_args(["x", "--y", "--hello", "this"])
109109
assert ns.hello
110110
assert ns.file_or_dir == ['x']
111111

112112
def test_parse_known_and_unknown_args(self, parser):
113113
parser.addoption("--hello", action="store_true")
114-
ns, unknown = parser.parse_known_and_unknown_args(["x", "--y",
115-
"--hello", "this"])
114+
ns, unknown = parser.parse_known_args(["x", "--y",
115+
"--hello", "this"])
116116
assert ns.hello
117117
assert ns.file_or_dir == ['x']
118118
assert unknown == ['--y', 'this']

0 commit comments

Comments
 (0)