-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Hi, I was looking into implementing my own pytest_fixture_setup()
and I noticed something interesting.
The hook is defined with @hookspec(firstresult=True)
so, as the docstring describes it will stop at the first non-None
result. However, it seems that this hook is supposed to return the return value of the fixture call, see https://github.com/pytest-dev/pytest/blob/master/_pytest/fixtures.py#L788. This is interesting, because a fixture could return None
even though it has run. A trivial example:
The effect of this is that if I want to override pytest_fixture_setup()
and not have it run again (from the internally defined hook), then I must return a non-None
value. But, this may not reflect the actual value as returned from the fixture.
Am I missing something? Is this not a big deal? I think it's strange to return True
even if it is not affecting my tests.