@@ -84,11 +84,11 @@ class FixtureDefsCache(object):
8484 """
8585 A 'cache' for fixture definitions obtained from the FixtureManager `fm`, for test node `nodeid`
8686 """
87- __slots__ = 'fm' , 'nodeid ' , 'cached_fix_defs'
87+ __slots__ = 'fm' , 'node ' , 'cached_fix_defs'
8888
89- def __init__ (self , fm , nodeid ):
89+ def __init__ (self , fm , node ):
9090 self .fm = fm
91- self .nodeid = nodeid
91+ self .node = node
9292 self .cached_fix_defs = dict ()
9393
9494 def get_fixture_defs (self , fixname ):
@@ -97,7 +97,10 @@ def get_fixture_defs(self, fixname):
9797 fixdefs = self .cached_fix_defs [fixname ]
9898 except KeyError :
9999 # 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 )
101104 self .cached_fix_defs [fixname ] = fixdefs
102105
103106 return fixdefs
@@ -692,7 +695,7 @@ def insert(self, index, fixture_name):
692695 """
693696 if index == 0 :
694697 # 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 )
696699 closure_tree = FixtureClosureNode (fixture_defs_mgr = fixture_defs_mgr )
697700 closure_tree .build_closure ((fixture_name ,))
698701 if closure_tree .has_split ():
@@ -805,7 +808,10 @@ def create_super_closure(fm,
805808 print ("Creating closure for %s:" % parentid )
806809
807810 # -- 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
809815
810816 def _merge (new_items , into_list ):
811817 """ 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):
830836 _merge (fixturenames , _init_fixnames )
831837
832838 # Finally create the closure
833- fixture_defs_mgr = FixtureDefsCache (fm , parentid )
839+ fixture_defs_mgr = FixtureDefsCache (fm , parentnode )
834840 closure_tree = FixtureClosureNode (fixture_defs_mgr = fixture_defs_mgr )
835841 closure_tree .build_closure (_init_fixnames , ignore_args = ignore_args )
836842 super_closure = SuperClosure (closure_tree )
0 commit comments