MCPcopy
hub / github.com/pytest-dev/pytest / call_and_report

Function call_and_report

src/_pytest/runner.py:236–259  ·  view source on GitHub ↗
(
    item: Item, when: Literal["setup", "call", "teardown"], log: bool = True, **kwds
)

Source from the content-addressed store, hash-verified

234
235
236def call_and_report(
237 item: Item, when: Literal["setup", "call", "teardown"], log: bool = True, **kwds
238) -> TestReport:
239 ihook = item.ihook
240 if when == "setup":
241 runtest_hook: Callable[..., None] = ihook.pytest_runtest_setup
242 elif when == "call":
243 runtest_hook = ihook.pytest_runtest_call
244 elif when == "teardown":
245 runtest_hook = ihook.pytest_runtest_teardown
246 else:
247 assert False, f"Unhandled runtest hook case: {when}"
248
249 call = CallInfo.from_call(
250 lambda: runtest_hook(item=item, **kwds),
251 when=when,
252 reraise=get_reraise_exceptions(item.config),
253 )
254 report: TestReport = ihook.pytest_runtest_makereport(item=item, call=call)
255 if log:
256 ihook.pytest_runtest_logreport(report=report)
257 if check_interactive_exception(call, report):
258 ihook.pytest_exception_interact(node=item, call=call, report=report)
259 return report
260
261
262def get_reraise_exceptions(config: Config) -> tuple[type[BaseException], ...]:

Callers 1

runtestprotocolFunction · 0.85

Calls 5

get_reraise_exceptionsFunction · 0.85
from_callMethod · 0.80

Tested by

no test coverage detected