@@ -67,7 +67,8 @@ class C:
67
67
68
68
type_assign_version (C )
69
69
orig_version = type_get_version (C )
70
- self .assertNotEqual (orig_version , 0 )
70
+ if orig_version == 0 :
71
+ self .skipTest ("Could not assign a valid type version" )
71
72
72
73
type_modified (C )
73
74
type_assign_specific_version_unsafe (C , orig_version + 5 )
@@ -84,10 +85,11 @@ class TypeCacheWithSpecializationTests(unittest.TestCase):
84
85
def tearDown (self ):
85
86
_clear_type_cache ()
86
87
87
- def _assign_and_check_valid_version (self , user_type ):
88
- type_modified (user_type )
89
- type_assign_version (user_type )
90
- self .assertNotEqual (type_get_version (user_type ), 0 )
88
+ def _assign_valid_version_or_skip (self , type_ ):
89
+ type_modified (type_ )
90
+ type_assign_version (type_ )
91
+ if type_get_version (type_ ) == 0 :
92
+ self .skipTest ("Could not assign valid type version" )
91
93
92
94
def _assign_and_check_version_0 (self , user_type ):
93
95
type_modified (user_type )
@@ -98,8 +100,6 @@ def _all_opnames(self, func):
98
100
return set (instr .opname for instr in dis .Bytecode (func , adaptive = True ))
99
101
100
102
def _check_specialization (self , func , arg , opname , * , should_specialize ):
101
- self .assertIn (opname , self ._all_opnames (func ))
102
-
103
103
for _ in range (100 ):
104
104
func (arg )
105
105
@@ -113,7 +113,7 @@ class A:
113
113
def foo (self ):
114
114
pass
115
115
116
- self ._assign_and_check_valid_version (A )
116
+ self ._assign_valid_version_or_skip (A )
117
117
118
118
def load_foo_1 (type_ ):
119
119
type_ .foo
@@ -129,8 +129,8 @@ def load_foo_2(type_):
129
129
self ._check_specialization (load_foo_2 , A , "LOAD_ATTR" , should_specialize = False )
130
130
131
131
def test_class_load_attr_specialization_static_type (self ):
132
- self ._assign_and_check_valid_version (str )
133
- self ._assign_and_check_valid_version (bytes )
132
+ self ._assign_valid_version_or_skip (str )
133
+ self ._assign_valid_version_or_skip (bytes )
134
134
135
135
def get_capitalize_1 (type_ ):
136
136
return type_ .capitalize
@@ -164,7 +164,7 @@ class G:
164
164
def x (self ):
165
165
return 9
166
166
167
- self ._assign_and_check_valid_version (G )
167
+ self ._assign_valid_version_or_skip (G )
168
168
169
169
def load_x_1 (instance ):
170
170
instance .x
@@ -183,7 +183,7 @@ def test_store_attr_specialization_user_type(self):
183
183
class B :
184
184
__slots__ = ("bar" ,)
185
185
186
- self ._assign_and_check_valid_version (B )
186
+ self ._assign_valid_version_or_skip (B )
187
187
188
188
def store_bar_1 (type_ ):
189
189
type_ .bar = 10
@@ -203,7 +203,7 @@ class F:
203
203
def __init__ (self ):
204
204
pass
205
205
206
- self ._assign_and_check_valid_version (F )
206
+ self ._assign_valid_version_or_skip (F )
207
207
208
208
def call_class_1 (type_ ):
209
209
type_ ()
@@ -222,7 +222,7 @@ def test_to_bool_specialization_user_type(self):
222
222
class H :
223
223
pass
224
224
225
- self ._assign_and_check_valid_version (H )
225
+ self ._assign_valid_version_or_skip (H )
226
226
227
227
def to_bool_1 (instance ):
228
228
not instance
0 commit comments