@@ -4638,7 +4638,9 @@ def test(fixture, arg):
46384638 )
46394639
46404640
4641- def test_dont_recompute_dependency_tree_if_no_dynamic_parametrize (pytester : Pytester ):
4641+ def test_dont_recompute_dependency_tree_if_no_direct_dynamic_parametrize (
4642+ pytester : Pytester ,
4643+ ):
46424644 pytester .makeconftest (
46434645 """
46444646 import pytest
@@ -4667,6 +4669,10 @@ def pytest_generate_tests(metafunc):
46674669 if metafunc.definition.name == "test_0":
46684670 metafunc.parametrize("fixture", [0])
46694671
4672+ if metafunc.definition.name == "test_4":
4673+ metafunc.parametrize("fixture", [0], indirect=True)
4674+
4675+
46704676 @pytest.fixture(scope='module')
46714677 def fixture():
46724678 pass
@@ -4685,23 +4691,27 @@ def test_2(fixture):
46854691 def test_3(fixture):
46864692 pass
46874693
4694+ def test_4(fixture):
4695+ pass
4696+
46884697 @pytest.fixture
46894698 def fm(request):
46904699 yield request._fixturemanager
46914700
46924701 def test(fm):
4693- method = fm.getfixtureclosure
4694- assert len(method.call_args_list) == 6
4695- assert method.call_args_list[0].args[0].nodeid.endswith("test_0")
4696- assert method.call_args_list[1].args[0].nodeid.endswith("test_0")
4697- assert method.call_args_list[2].args[0].nodeid.endswith("test_1")
4698- assert method.call_args_list[3].args[0].nodeid.endswith("test_2")
4699- assert method.call_args_list[4].args[0].nodeid.endswith("test_3")
4700- assert method.call_args_list[5].args[0].nodeid.endswith("test")
4702+ calls = fm.getfixtureclosure.call_args_list
4703+ assert len(calls) == 7
4704+ assert calls[0].kwargs["parentnode"].nodeid.endswith("test_0")
4705+ assert calls[1].kwargs["parentnode"].nodeid.endswith("test_0")
4706+ assert calls[2].kwargs["parentnode"].nodeid.endswith("test_1")
4707+ assert calls[3].kwargs["parentnode"].nodeid.endswith("test_2")
4708+ assert calls[4].kwargs["parentnode"].nodeid.endswith("test_3")
4709+ assert calls[5].kwargs["parentnode"].nodeid.endswith("test_4")
4710+ assert calls[6].kwargs["parentnode"].nodeid.endswith("test")
47014711 """
47024712 )
47034713 reprec = pytester .inline_run ()
4704- reprec .assertoutcome (passed = 5 )
4714+ reprec .assertoutcome (passed = 6 )
47054715
47064716
47074717def test_deduplicate_names () -> None :
0 commit comments