Skip to content

Commit 4b82e95

Browse files
RonnyPfannschmidtCursor AIclaude
committed
refactor: use node= instead of nodeid= in all internal fixture registration
Update all internal call sites to use node= parameter instead of nodeid= string for fixture registration. This enables node-based matching. Changes: - python.py: Module and Class xunit fixtures now use node=self - python.py: Class.collect parsefactories uses holder=..., node=self - unittest.py: UnitTestCase fixtures now use node=self - unittest.py: UnitTestCase.collect parsefactories uses holder=..., node=self This completes Phase 1 of migrating from string-based to node-based fixture scoping. Co-authored-by: Cursor AI <ai@cursor.sh> Co-authored-by: Anthropic Claude Opus 4 <claude@anthropic.com>
1 parent f1fc56a commit 4b82e95

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

src/_pytest/python.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ def xunit_setup_module_fixture(request) -> Generator[None]:
595595
# Use a unique name to speed up lookup.
596596
name=f"_xunit_setup_module_fixture_{self.obj.__name__}",
597597
func=xunit_setup_module_fixture,
598-
nodeid=self.nodeid,
598+
node=self,
599599
scope="module",
600600
autouse=True,
601601
)
@@ -631,7 +631,7 @@ def xunit_setup_function_fixture(request) -> Generator[None]:
631631
# Use a unique name to speed up lookup.
632632
name=f"_xunit_setup_function_fixture_{self.obj.__name__}",
633633
func=xunit_setup_function_fixture,
634-
nodeid=self.nodeid,
634+
node=self,
635635
scope="function",
636636
autouse=True,
637637
)
@@ -779,7 +779,9 @@ def collect(self) -> Iterable[nodes.Item | nodes.Collector]:
779779
self._register_setup_class_fixture()
780780
self._register_setup_method_fixture()
781781

782-
self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
782+
self.session._fixturemanager.parsefactories(
783+
holder=self.newinstance(), node=self
784+
)
783785

784786
return super().collect()
785787

@@ -809,7 +811,7 @@ def xunit_setup_class_fixture(request) -> Generator[None]:
809811
# Use a unique name to speed up lookup.
810812
name=f"_xunit_setup_class_fixture_{self.obj.__qualname__}",
811813
func=xunit_setup_class_fixture,
812-
nodeid=self.nodeid,
814+
node=self,
813815
scope="class",
814816
autouse=True,
815817
)
@@ -843,7 +845,7 @@ def xunit_setup_method_fixture(request) -> Generator[None]:
843845
# Use a unique name to speed up lookup.
844846
name=f"_xunit_setup_method_fixture_{self.obj.__qualname__}",
845847
func=xunit_setup_method_fixture,
846-
nodeid=self.nodeid,
848+
node=self,
847849
scope="function",
848850
autouse=True,
849851
)

src/_pytest/unittest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ def collect(self) -> Iterable[Item | Collector]:
101101
self._register_unittest_setup_class_fixture(cls)
102102
self._register_setup_class_fixture()
103103

104-
self.session._fixturemanager.parsefactories(self.newinstance(), self.nodeid)
104+
self.session._fixturemanager.parsefactories(
105+
holder=self.newinstance(), node=self
106+
)
105107

106108
loader = TestLoader()
107109
foundsomething = False
@@ -170,7 +172,7 @@ def unittest_setup_class_fixture(
170172
# Use a unique name to speed up lookup.
171173
name=f"_unittest_setUpClass_fixture_{cls.__qualname__}",
172174
func=unittest_setup_class_fixture,
173-
nodeid=self.nodeid,
175+
node=self,
174176
scope="class",
175177
autouse=True,
176178
)
@@ -200,7 +202,7 @@ def unittest_setup_method_fixture(
200202
# Use a unique name to speed up lookup.
201203
name=f"_unittest_setup_method_fixture_{cls.__qualname__}",
202204
func=unittest_setup_method_fixture,
203-
nodeid=self.nodeid,
205+
node=self,
204206
scope="function",
205207
autouse=True,
206208
)

0 commit comments

Comments
 (0)