Skip to content

Commit 7c56b16

Browse files
Fix a test
1 parent c72507c commit 7c56b16

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

src/_pytest/python.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,9 +1550,9 @@ def update_dependency_tree(self) -> None:
15501550
definition = self.definition
15511551
fm = cast(nodes.Node, definition.parent).session._fixturemanager
15521552
fixture_closure, _ = fm.getfixtureclosure(
1553-
definition,
1554-
definition._fixtureinfo.initialnames,
1555-
definition._fixtureinfo.name2fixturedefs,
1553+
parentnode=definition,
1554+
initialnames=definition._fixtureinfo.initialnames,
1555+
arg2fixturedefs=definition._fixtureinfo.name2fixturedefs,
15561556
ignore_args=_get_direct_parametrize_args(definition),
15571557
)
15581558
definition._fixtureinfo.names_closure[:] = fixture_closure

testing/python/fixtures.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

47074717
def test_deduplicate_names() -> None:

0 commit comments

Comments
 (0)