Skip to content

Commit 7ba4d69

Browse files
committed
config: reorder Parser.parse near its comrades and add a docstring
1 parent 27e0bb3 commit 7ba4d69

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/_pytest/config/argparsing.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,6 @@ def addoption(self, *opts: str, **attrs: Any) -> None:
101101
"""
102102
self._anonymous.addoption(*opts, **attrs)
103103

104-
def parse(
105-
self,
106-
args: Sequence[str | os.PathLike[str]],
107-
namespace: argparse.Namespace | None = None,
108-
) -> argparse.Namespace:
109-
from _pytest._argcomplete import try_argcomplete
110-
111-
self.optparser = self._getparser()
112-
try_argcomplete(self.optparser)
113-
strargs = [os.fspath(x) for x in args]
114-
return self.optparser.parse_intermixed_args(strargs, namespace=namespace)
115-
116104
def _getparser(self) -> PytestArgumentParser:
117105
from _pytest._argcomplete import filescompleter
118106

@@ -132,6 +120,25 @@ def _getparser(self) -> PytestArgumentParser:
132120
file_or_dir_arg.completer = filescompleter # type: ignore
133121
return optparser
134122

123+
def parse(
124+
self,
125+
args: Sequence[str | os.PathLike[str]],
126+
namespace: argparse.Namespace | None = None,
127+
) -> argparse.Namespace:
128+
"""Parse the arguments.
129+
130+
Unlike ``parse_known_args`` and ``parse_known_and_unknown_args``,
131+
raises UsageError on unknown flags.
132+
133+
:meta private:
134+
"""
135+
from _pytest._argcomplete import try_argcomplete
136+
137+
self.optparser = self._getparser()
138+
try_argcomplete(self.optparser)
139+
strargs = [os.fspath(x) for x in args]
140+
return self.optparser.parse_intermixed_args(strargs, namespace=namespace)
141+
135142
def parse_known_args(
136143
self,
137144
args: Sequence[str | os.PathLike[str]],

0 commit comments

Comments
 (0)