@@ -244,7 +244,7 @@ def test_eq(self):
244244 def test_attr (self ):
245245 code_obj = get_code ("x = 5" )
246246 code = ConcreteBytecode .from_code (code_obj )
247- self .assertEqual (code .consts , [5 , None ])
247+ self .assertEqual (code .consts , [5 ] if PY315 else [ 5 , None ])
248248 self .assertEqual (code .names , ["x" ])
249249 self .assertEqual (code .varnames , [])
250250 self .assertEqual (code .freevars , [])
@@ -256,7 +256,7 @@ def test_attr(self):
256256 ConcreteInstr ("CACHE" , 0 , lineno = 0 ),
257257 ConcreteInstr ("LOAD_SMALL_INT" , 5 , lineno = 1 ),
258258 ConcreteInstr ("STORE_NAME" , 0 , lineno = 1 ),
259- ConcreteInstr ("LOAD_CONST " , 1 , lineno = 1 ),
259+ ConcreteInstr ("LOAD_COMMON_CONSTANT " , 7 , lineno = 1 ),
260260 ConcreteInstr ("RETURN_VALUE" , lineno = 1 ),
261261 ]
262262 if PY315
@@ -755,26 +755,30 @@ def foo(x: int, y: int):
755755 if PY315 :
756756 ann_code = concrete .consts [0 ]
757757 func_code = concrete .consts [1 ]
758- expected_py315 = [
759- ConcreteInstr ("RESUME" , 0 , lineno = 0 ),
760- ConcreteInstr ("CACHE" , 0 , lineno = 0 ),
761- ConcreteInstr ("LOAD_CONST" , 0 , lineno = 1 ),
762- ConcreteInstr ("MAKE_FUNCTION" , lineno = 1 ),
763- ConcreteInstr ("LOAD_CONST" , 1 , lineno = 1 ),
764- ConcreteInstr ("MAKE_FUNCTION" , lineno = 1 ),
765- ConcreteInstr ("SET_FUNCTION_ATTRIBUTE" , 16 , lineno = 1 ),
766- ConcreteInstr ("STORE_NAME" , 0 , lineno = 1 ),
767- ConcreteInstr ("LOAD_CONST" , 2 , lineno = 1 ),
768- ConcreteInstr ("RETURN_VALUE" , lineno = 1 ),
769- ]
758+ if PY315 :
759+ expected_py315 = [
760+ ConcreteInstr ("RESUME" , 0 , lineno = 0 ),
761+ ConcreteInstr ("CACHE" , 0 , lineno = 0 ),
762+ ConcreteInstr ("LOAD_CONST" , 0 , lineno = 1 ),
763+ ConcreteInstr ("MAKE_FUNCTION" , lineno = 1 ),
764+ ConcreteInstr ("LOAD_CONST" , 1 , lineno = 1 ),
765+ ConcreteInstr ("MAKE_FUNCTION" , lineno = 1 ),
766+ ConcreteInstr ("SET_FUNCTION_ATTRIBUTE" , 16 , lineno = 1 ),
767+ ConcreteInstr ("STORE_NAME" , 0 , lineno = 1 ),
768+ ConcreteInstr ("LOAD_COMMON_CONSTANT" , 7 , lineno = 1 ),
769+ ConcreteInstr ("RETURN_VALUE" , lineno = 1 ),
770+ ]
771+ expected_consts = [ann_code , func_code ]
772+ else :
773+ expected_consts = [ann_code , func_code , None ]
770774 self .assertSequenceEqual (concrete .names , ["foo" ])
771- self .assertSequenceEqual (concrete .consts , [ ann_code , func_code , None ] )
775+ self .assertSequenceEqual (concrete .consts , expected_consts )
772776 self .assertInstructionListEqual (list (concrete ), expected_py315 )
773777 concrete = ConcreteBytecode .from_code (code_obj , extended_arg = True )
774778 ann_code = concrete .consts [0 ]
775779 func_code = concrete .consts [1 ]
776780 self .assertEqual (concrete .names , ["foo" ])
777- self .assertEqual (concrete .consts , [ ann_code , func_code , None ] )
781+ self .assertEqual (concrete .consts , expected_consts )
778782 self .assertInstructionListEqual (list (concrete ), expected_py315 )
779783 return
780784 if PY314 :
0 commit comments