@@ -84,11 +84,11 @@ class FixtureDefsCache(object):
84
84
"""
85
85
A 'cache' for fixture definitions obtained from the FixtureManager `fm`, for test node `nodeid`
86
86
"""
87
- __slots__ = 'fm' , 'nodeid ' , 'cached_fix_defs'
87
+ __slots__ = 'fm' , 'node ' , 'cached_fix_defs'
88
88
89
- def __init__ (self , fm , nodeid ):
89
+ def __init__ (self , fm , node ):
90
90
self .fm = fm
91
- self .nodeid = nodeid
91
+ self .node = node
92
92
self .cached_fix_defs = dict ()
93
93
94
94
def get_fixture_defs (self , fixname ):
@@ -97,7 +97,10 @@ def get_fixture_defs(self, fixname):
97
97
fixdefs = self .cached_fix_defs [fixname ]
98
98
except KeyError :
99
99
# otherwise get it and store for next time
100
- fixdefs = self .fm .getfixturedefs (fixname , self .nodeid )
100
+ if hasattr (pytest , "version_tuple" ) and pytest .version_tuple >= (8 , 1 ):
101
+ fixdefs = self .fm .getfixturedefs (fixname , self .node )
102
+ else :
103
+ fixdefs = self .fm .getfixturedefs (fixname , self .node .nodeid )
101
104
self .cached_fix_defs [fixname ] = fixdefs
102
105
103
106
return fixdefs
@@ -692,7 +695,7 @@ def insert(self, index, fixture_name):
692
695
"""
693
696
if index == 0 :
694
697
# build the closure associated with this new fixture name
695
- fixture_defs_mgr = FixtureDefsCache (self .tree .fixture_defs_mgr .fm , self .tree .fixture_defs_mgr .nodeid )
698
+ fixture_defs_mgr = FixtureDefsCache (self .tree .fixture_defs_mgr .fm , self .tree .fixture_defs_mgr .node )
696
699
closure_tree = FixtureClosureNode (fixture_defs_mgr = fixture_defs_mgr )
697
700
closure_tree .build_closure ((fixture_name ,))
698
701
if closure_tree .has_split ():
@@ -805,7 +808,10 @@ def create_super_closure(fm,
805
808
print ("Creating closure for %s:" % parentid )
806
809
807
810
# -- auto-use fixtures
808
- _init_fixnames = list (fm ._getautousenames (parentid )) # noqa
811
+ if hasattr (pytest , "version_tuple" ) and pytest .version_tuple >= (8 , 1 ):
812
+ _init_fixnames = list (fm ._getautousenames (parentnode )) # noqa
813
+ else :
814
+ _init_fixnames = list (fm ._getautousenames (parentid )) # noqa
809
815
810
816
def _merge (new_items , into_list ):
811
817
""" Appends items from `new_items` into `into_list`, only if they are not already there. """
@@ -830,7 +836,7 @@ def _merge(new_items, into_list):
830
836
_merge (fixturenames , _init_fixnames )
831
837
832
838
# Finally create the closure
833
- fixture_defs_mgr = FixtureDefsCache (fm , parentid )
839
+ fixture_defs_mgr = FixtureDefsCache (fm , parentnode )
834
840
closure_tree = FixtureClosureNode (fixture_defs_mgr = fixture_defs_mgr )
835
841
closure_tree .build_closure (_init_fixnames , ignore_args = ignore_args )
836
842
super_closure = SuperClosure (closure_tree )
0 commit comments