@@ -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