First of all thanks a lot for the creation of pytest and all the work that is going into it!
This is the problem I have observed:
pytest-5.3.3 breaks usage of lazy_fixture parametrisation that was working with pytest-5.3.2
pytest: 5.3.3 (conda-forge)
pytest-lazy-fixture: 0.6.2
os: macos catalina
python: 3.6.7
import pytest
from pytest_lazyfixture import lazy_fixture
@pytest.fixture
def foo():
return "foo"
@pytest.fixture
def bar():
return "bar"
@pytest.fixture(params=[
lazy_fixture("foo"),
lazy_fixture("bar")
])
def myfixture(request):
return request.param
def test_foo_bar(myfixture):
assert myfixture in ["foo", "bar"]
This fails with the following error
@pytest.fixture(params=[
lazy_fixture("foo"),
lazy_fixture("bar")
])
def myfixture(request):
E recursive dependency involving fixture 'foo' detected
duplicate of #6512 and #6492 - fixed in #6496 and soon to be released
Thx for the quick reply.
/cc @SalmonMode maybe this help you investigating, since it appears to be easily reproducible (although with another plugin still).
@blueyed thanks for the CC. I've never used lazy_fixture before, so I'll have to dig into it a bit, but this issue is separate from the one found in https://github.com/pytest-dev/pytest/issues/6492
@SalmonMode yeah, thought so myself. I think you/we should go through all the issues being closed off as duplicates maybe too quickly - #6492 appears to be a meta issue for everything this has caused a regression of some kind.
Another idea is to list all issues in #6492 itself for book keeping (I mean in the first post, in a separate section).
Most helpful comment
@blueyed thanks for the CC. I've never used
lazy_fixturebefore, so I'll have to dig into it a bit, but this issue is separate from the one found in https://github.com/pytest-dev/pytest/issues/6492