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

Function call_fixture_func

src/_pytest/fixtures.py:908–925  ·  view source on GitHub ↗
(
    fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs
)

Source from the content-addressed store, hash-verified

906
907
908def call_fixture_func(
909 fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs
910) -> FixtureValue:
911 if is_generator(fixturefunc):
912 fixturefunc = cast(
913 Callable[..., Generator[FixtureValue, None, None]], fixturefunc
914 )
915 generator = fixturefunc(**kwargs)
916 try:
917 fixture_result = next(generator)
918 except StopIteration:
919 raise ValueError(f"{request.fixturename} did not yield a value") from None
920 finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)
921 request.addfinalizer(finalizer)
922 else:
923 fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)
924 fixture_result = fixturefunc(**kwargs)
925 return fixture_result
926
927
928def _teardown_yield_fixture(fixturefunc, it) -> None:

Callers 1

pytest_fixture_setupFunction · 0.85

Calls 2

is_generatorFunction · 0.90
addfinalizerMethod · 0.45

Tested by

no test coverage detected