@@ -82,7 +82,7 @@ def check_lnotab(self, code):
8282 # aren't very many tests of lnotab), if peepholer wasn't scheduled
8383 # to be replaced anyway.
8484
85- @unittest .expectedFailure # TODO: RUSTPYTHON
85+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
8686 def test_unot (self ):
8787 # UNARY_NOT POP_JUMP_IF_FALSE --> POP_JUMP_IF_TRUE'
8888 def unot (x ):
@@ -133,7 +133,7 @@ def f():
133133 self .assertInBytecode (f , 'LOAD_CONST' , None )
134134 self .check_lnotab (f )
135135
136- @unittest .expectedFailure # TODO: RUSTPYTHON
136+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
137137 def test_while_one (self ):
138138 # Skip over: LOAD_CONST trueconst POP_JUMP_IF_FALSE xx
139139 def f ():
@@ -160,7 +160,7 @@ def test_pack_unpack(self):
160160 self .assertNotInBytecode (code , 'UNPACK_SEQUENCE' )
161161 self .check_lnotab (code )
162162
163- @unittest .expectedFailure # TODO: RUSTPYTHON
163+ @unittest .expectedFailure # TODO: RUSTPYTHON; AssertionError: 1 != 2
164164 def test_constant_folding_tuples_of_constants (self ):
165165 for line , elem in (
166166 ('a = 1,2,3' , (1 , 2 , 3 )),
@@ -329,7 +329,7 @@ def negzero():
329329 self .assertNotStartsWith (instr .opname , 'UNARY_' )
330330 self .check_lnotab (negzero )
331331
332- @unittest .expectedFailure # TODO: RUSTPYTHON
332+ @unittest .expectedFailure # TODO: RUSTPYTHON; BINARY_OP 26 ([])
333333 def test_constant_folding_binop (self ):
334334 tests = [
335335 ('1 + 2' , 'NB_ADD' , True , 'LOAD_SMALL_INT' , 3 ),
@@ -531,7 +531,7 @@ def f(x):
531531 self .assertEqual (len (returns ), 1 )
532532 self .check_lnotab (f )
533533
534- @unittest .expectedFailure # TODO: RUSTPYTHON
534+ @unittest .expectedFailure # TODO: RUSTPYTHON; KeyError: 20
535535 def test_elim_jump_to_return (self ):
536536 # JUMP_FORWARD to RETURN --> RETURN
537537 def f (cond , true_value , false_value ):
@@ -546,7 +546,6 @@ def f(cond, true_value, false_value):
546546 self .assertEqual (len (returns ), 2 )
547547 self .check_lnotab (f )
548548
549- @unittest .expectedFailure # TODO: RUSTPYTHON
550549 def test_elim_jump_to_uncond_jump (self ):
551550 # POP_JUMP_IF_FALSE to JUMP_FORWARD --> POP_JUMP_IF_FALSE to non-jump
552551 def f ():
@@ -560,7 +559,7 @@ def f():
560559 self .check_jump_targets (f )
561560 self .check_lnotab (f )
562561
563- @unittest .expectedFailure # TODO: RUSTPYTHON
562+ @unittest .expectedFailure # TODO: RUSTPYTHON; KeyError: 38
564563 def test_elim_jump_to_uncond_jump2 (self ):
565564 # POP_JUMP_IF_FALSE to JUMP_BACKWARD --> POP_JUMP_IF_FALSE to non-jump
566565 def f ():
@@ -572,7 +571,7 @@ def f():
572571 self .check_jump_targets (f )
573572 self .check_lnotab (f )
574573
575- @unittest .expectedFailure # TODO: RUSTPYTHON
574+ @unittest .expectedFailure # TODO: RUSTPYTHON; KeyError: 44
576575 def test_elim_jump_to_uncond_jump3 (self ):
577576 # Intentionally use two-line expressions to test issue37213.
578577 # POP_JUMP_IF_FALSE to POP_JUMP_IF_FALSE --> POP_JUMP_IF_FALSE to non-jump
@@ -606,15 +605,15 @@ def f(a, b, c):
606605 self .assertEqual (count_instr_recursively (f , 'POP_JUMP_IF_FALSE' ), 1 )
607606 self .assertEqual (count_instr_recursively (f , 'POP_JUMP_IF_TRUE' ), 1 )
608607
609- @unittest .expectedFailure # TODO: RUSTPYTHON
608+ @unittest .expectedFailure # TODO: RUSTPYTHON; KeyError: 6
610609 def test_elim_jump_to_uncond_jump4 (self ):
611610 def f ():
612611 for i in range (5 ):
613612 if i > 3 :
614613 print (i )
615614 self .check_jump_targets (f )
616615
617- @unittest .expectedFailure # TODO: RUSTPYTHON
616+ @unittest .expectedFailure # TODO: RUSTPYTHON; 611 JUMP_BACKWARD 16
618617 def test_elim_jump_after_return1 (self ):
619618 # Eliminate dead code: jumps immediately after returns can't be reached
620619 def f (cond1 , cond2 ):
@@ -683,7 +682,7 @@ def f(x):
683682 return 6
684683 self .check_lnotab (f )
685684
686- @unittest .expectedFailure # TODO: RUSTPYTHON
685+ @unittest .expectedFailure # TODO: RUSTPYTHON; AssertionError: 2 != 1
687686 def test_assignment_idiom_in_comprehensions (self ):
688687 def listcomp ():
689688 return [y for x in a for y in [f (x )]]
@@ -743,7 +742,7 @@ def format(fmt, *values):
743742 self .assertEqual (format ('x = %s!' , '%% %s' ), 'x = %% %s!' )
744743 self .assertEqual (format ('x = %s, y = %d' , 12 , 34 ), 'x = 12, y = 34' )
745744
746- @unittest .expectedFailure # TODO: RUSTPYTHON
745+ @unittest .expectedFailure # TODO: RUSTPYTHON; ValueError: unsupported format character 'z' (0x7a) at index 3
747746 def test_format_errors (self ):
748747 with self .assertRaisesRegex (TypeError ,
749748 'not enough arguments for format string' ):
@@ -863,14 +862,14 @@ def setUp(self):
863862 self .addCleanup (sys .settrace , sys .gettrace ())
864863 sys .settrace (None )
865864
866- @unittest .expectedFailure # TODO: RUSTPYTHON
865+ @unittest .expectedFailure # TODO: RUSTPYTHON; BINARY_OP 0 (+)
867866 def test_load_fast_known_simple (self ):
868867 def f ():
869868 x = 1
870869 y = x + x
871870 self .assertInBytecode (f , 'LOAD_FAST_BORROW_LOAD_FAST_BORROW' )
872871
873- @unittest .expectedFailure # TODO: RUSTPYTHON
872+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
874873 def test_load_fast_unknown_simple (self ):
875874 def f ():
876875 if condition ():
@@ -879,7 +878,7 @@ def f():
879878 self .assertInBytecode (f , 'LOAD_FAST_CHECK' )
880879 self .assertNotInBytecode (f , 'LOAD_FAST' )
881880
882- @unittest .expectedFailure # TODO: RUSTPYTHON
881+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
883882 def test_load_fast_unknown_because_del (self ):
884883 def f ():
885884 x = 1
@@ -888,7 +887,7 @@ def f():
888887 self .assertInBytecode (f , 'LOAD_FAST_CHECK' )
889888 self .assertNotInBytecode (f , 'LOAD_FAST' )
890889
891- @unittest .expectedFailure # TODO: RUSTPYTHON
890+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
892891 def test_load_fast_known_because_parameter (self ):
893892 def f1 (x ):
894893 print (x )
@@ -915,7 +914,7 @@ def f5(x=0):
915914 self .assertInBytecode (f5 , 'LOAD_FAST_BORROW' )
916915 self .assertNotInBytecode (f5 , 'LOAD_FAST_CHECK' )
917916
918- @unittest .expectedFailure # TODO: RUSTPYTHON
917+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
919918 def test_load_fast_known_because_already_loaded (self ):
920919 def f ():
921920 if condition ():
@@ -925,7 +924,7 @@ def f():
925924 self .assertInBytecode (f , 'LOAD_FAST_CHECK' )
926925 self .assertInBytecode (f , 'LOAD_FAST_BORROW' )
927926
928- @unittest .expectedFailure # TODO: RUSTPYTHON
927+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
929928 def test_load_fast_known_multiple_branches (self ):
930929 def f ():
931930 if condition ():
@@ -936,7 +935,7 @@ def f():
936935 self .assertInBytecode (f , 'LOAD_FAST_BORROW' )
937936 self .assertNotInBytecode (f , 'LOAD_FAST_CHECK' )
938937
939- @unittest .expectedFailure # TODO: RUSTPYTHON
938+ @unittest .expectedFailure # TODO: RUSTPYTHON; L5 to L6 -> L6 [1] lasti
940939 def test_load_fast_unknown_after_error (self ):
941940 def f ():
942941 try :
@@ -948,7 +947,7 @@ def f():
948947 # Assert that it doesn't occur in the LOAD_FAST_CHECK branch.
949948 self .assertInBytecode (f , 'LOAD_FAST_CHECK' )
950949
951- @unittest .expectedFailure # TODO: RUSTPYTHON
950+ @unittest .expectedFailure # TODO: RUSTPYTHON; L5 to L6 -> L6 [1] lasti
952951 def test_load_fast_unknown_after_error_2 (self ):
953952 def f ():
954953 try :
@@ -959,7 +958,7 @@ def f():
959958 self .assertInBytecode (f , 'LOAD_FAST_CHECK' )
960959 self .assertNotInBytecode (f , 'LOAD_FAST' )
961960
962- @unittest .expectedFailure # TODO: RUSTPYTHON
961+ @unittest .expectedFailure # TODO: RUSTPYTHON; RETURN_VALUE
963962 def test_load_fast_too_many_locals (self ):
964963 # When there get to be too many locals to analyze completely,
965964 # later locals are all converted to LOAD_FAST_CHECK, except
@@ -1034,7 +1033,7 @@ def trace(frame, event, arg):
10341033 self .assertNotInBytecode (f , "LOAD_FAST_CHECK" )
10351034 self .assertEqual (f .__code__ .co_code , co_code )
10361035
1037- @unittest .expectedFailure # TODO: RUSTPYTHON
1036+ @unittest .expectedFailure # TODO: RUSTPYTHON; AssertionError: RuntimeWarning not triggered
10381037 def test_setting_lineno_one_undefined (self ):
10391038 code = textwrap .dedent ("""\
10401039 def f():
@@ -1069,7 +1068,7 @@ def trace(frame, event, arg):
10691068 self .assertNotInBytecode (f , "LOAD_FAST_CHECK" )
10701069 self .assertEqual (f .__code__ .co_code , co_code )
10711070
1072- @unittest .expectedFailure # TODO: RUSTPYTHON
1071+ @unittest .expectedFailure # TODO: RUSTPYTHON; AssertionError: RuntimeWarning not triggered
10731072 def test_setting_lineno_two_undefined (self ):
10741073 code = textwrap .dedent ("""\
10751074 def f():
0 commit comments