MCPcopy Create free account
hub / github.com/pytest-dev/pytest / _init_runner_class

Function _init_runner_class

src/_pytest/doctest.py:176–226  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

174
175
176def _init_runner_class() -> Type["doctest.DocTestRunner"]:
177 import doctest
178
179 class PytestDoctestRunner(doctest.DebugRunner):
180 """Runner to collect failures.
181
182 Note that the out variable in this case is a list instead of a
183 stdout-like object.
184 """
185
186 def __init__(
187 self,
188 checker: Optional["doctest.OutputChecker"] = None,
189 verbose: Optional[bool] = None,
190 optionflags: int = 0,
191 continue_on_failure: bool = True,
192 ) -> None:
193 super().__init__(checker=checker, verbose=verbose, optionflags=optionflags)
194 self.continue_on_failure = continue_on_failure
195
196 def report_failure(
197 self,
198 out,
199 test: "doctest.DocTest",
200 example: "doctest.Example",
201 got: str,
202 ) -> None:
203 failure = doctest.DocTestFailure(test, example, got)
204 if self.continue_on_failure:
205 out.append(failure)
206 else:
207 raise failure
208
209 def report_unexpected_exception(
210 self,
211 out,
212 test: "doctest.DocTest",
213 example: "doctest.Example",
214 exc_info: Tuple[Type[BaseException], BaseException, types.TracebackType],
215 ) -> None:
216 if isinstance(exc_info[1], OutcomeException):
217 raise exc_info[1]
218 if isinstance(exc_info[1], bdb.BdbQuit):
219 outcomes.exit("Quitting debugger")
220 failure = doctest.UnexpectedException(test, example, exc_info)
221 if self.continue_on_failure:
222 out.append(failure)
223 else:
224 raise failure
225
226 return PytestDoctestRunner
227
228
229def _get_runner(

Callers 1

_get_runnerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected