1212
1313class DictTest (unittest .TestCase ):
1414
15- @unittest .skip ("TODO: RUSTPYTHON" )
1615 def test_invalid_keyword_arguments (self ):
1716 class Custom (dict ):
1817 pass
@@ -27,7 +26,6 @@ def test_constructor(self):
2726 self .assertEqual (dict (), {})
2827 self .assertIsNot (dict (), {})
2928
30- @unittest .skip ("TODO: RUSTPYTHON" )
3129 def test_literal_constructor (self ):
3230 # check literal constructor for different sized dicts
3331 # (to exercise the BUILD_MAP oparg).
@@ -303,7 +301,8 @@ def test_copy_fuzz(self):
303301 self .assertNotEqual (d , d2 )
304302 self .assertEqual (len (d2 ), len (d ) + 1 )
305303
306- @unittest .skip ("TODO: RUSTPYTHON" )
304+ # TODO: RUSTPYTHON
305+ @unittest .expectedFailure
307306 def test_copy_maintains_tracking (self ):
308307 class A :
309308 pass
@@ -553,7 +552,8 @@ def __repr__(self):
553552 self .assertRaises (Exc , repr , d )
554553
555554 # TODO: RUSTPYTHON
556- @unittest .skip ("TODO: RUSTPYTHON" )
555+ @unittest .expectedFailure
556+ @unittest .skipIf (sys .platform == 'win32' , 'TODO: RUSTPYTHON Windows' )
557557 def test_repr_deep (self ):
558558 d = {}
559559 for i in range (sys .getrecursionlimit () + 100 ):
@@ -820,7 +820,8 @@ def test_empty_presized_dict_in_freelist(self):
820820 'f' : None , 'g' : None , 'h' : None }
821821 d = {}
822822
823- @unittest .skip ("TODO: RUSTPYTHON" )
823+ # TODO: RUSTPYTHON
824+ @unittest .expectedFailure
824825 def test_container_iterator (self ):
825826 # Bug #3680: tp_traverse was not implemented for dictiter and
826827 # dictview objects.
@@ -1062,7 +1063,8 @@ class C:
10621063 a .a = 3
10631064 self .assertFalse (_testcapi .dict_hassplittable (a .__dict__ ))
10641065
1065- @unittest .skip ("TODO: RUSTPYTHON" )
1066+ # TODO: RUSTPYTHON
1067+ @unittest .expectedFailure
10661068 def test_iterator_pickling (self ):
10671069 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
10681070 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1081,7 +1083,8 @@ def test_iterator_pickling(self):
10811083 del data [drop ]
10821084 self .assertEqual (list (it ), list (data ))
10831085
1084- @unittest .skip ("TODO: RUSTPYTHON" )
1086+ # TODO: RUSTPYTHON
1087+ @unittest .expectedFailure
10851088 def test_itemiterator_pickling (self ):
10861089 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
10871090 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1104,7 +1107,8 @@ def test_itemiterator_pickling(self):
11041107 del data [drop [0 ]]
11051108 self .assertEqual (dict (it ), data )
11061109
1107- @unittest .skip ("TODO: RUSTPYTHON" )
1110+ # TODO: RUSTPYTHON
1111+ @unittest .expectedFailure
11081112 def test_valuesiterator_pickling (self ):
11091113 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
11101114 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1121,7 +1125,8 @@ def test_valuesiterator_pickling(self):
11211125 values = list (it ) + [drop ]
11221126 self .assertEqual (sorted (values ), sorted (list (data .values ())))
11231127
1124- @unittest .skip ("TODO: RUSTPYTHON" )
1128+ # TODO: RUSTPYTHON
1129+ @unittest .expectedFailure
11251130 def test_reverseiterator_pickling (self ):
11261131 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
11271132 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1140,7 +1145,8 @@ def test_reverseiterator_pickling(self):
11401145 del data [drop ]
11411146 self .assertEqual (list (it ), list (reversed (data )))
11421147
1143- @unittest .skip ("TODO: RUSTPYTHON" )
1148+ # TODO: RUSTPYTHON
1149+ @unittest .expectedFailure
11441150 def test_reverseitemiterator_pickling (self ):
11451151 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
11461152 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1163,7 +1169,8 @@ def test_reverseitemiterator_pickling(self):
11631169 del data [drop [0 ]]
11641170 self .assertEqual (dict (it ), data )
11651171
1166- @unittest .skip ("TODO: RUSTPYTHON" )
1172+ # TODO: RUSTPYTHON
1173+ @unittest .expectedFailure
11671174 def test_reversevaluesiterator_pickling (self ):
11681175 for proto in range (pickle .HIGHEST_PROTOCOL + 1 ):
11691176 data = {1 :"a" , 2 :"b" , 3 :"c" }
@@ -1225,7 +1232,8 @@ def mutate(d):
12251232 d .popitem ()
12261233 self .check_reentrant_insertion (mutate )
12271234
1228- @unittest .skip ("TODO: RUSTPYTHON" )
1235+ # TODO: RUSTPYTHON
1236+ @unittest .expectedFailure
12291237 def test_merge_and_mutate (self ):
12301238 class X :
12311239 def __hash__ (self ):
@@ -1241,14 +1249,16 @@ def __eq__(self, o):
12411249 d = {X (): 0 , 1 : 1 }
12421250 self .assertRaises (RuntimeError , d .update , other )
12431251
1244- @unittest .skip ("TODO: RUSTPYTHON" )
1252+ # TODO: RUSTPYTHON
1253+ @unittest .expectedFailure
12451254 def test_free_after_iterating (self ):
12461255 support .check_free_after_iterating (self , iter , dict )
12471256 support .check_free_after_iterating (self , lambda d : iter (d .keys ()), dict )
12481257 support .check_free_after_iterating (self , lambda d : iter (d .values ()), dict )
12491258 support .check_free_after_iterating (self , lambda d : iter (d .items ()), dict )
12501259
1251- @unittest .skip ("TODO: RUSTPYTHON" )
1260+ # TODO: RUSTPYTHON
1261+ @unittest .expectedFailure
12521262 def test_equal_operator_modifying_operand (self ):
12531263 # test fix for seg fault reported in issue 27945 part 3.
12541264 class X ():
0 commit comments