Skip to content

Commit 68a0bc0

Browse files
authored
Update test_isinstance.py to 3.14.4 (#7806)
1 parent edcf300 commit 68a0bc0

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

Lib/test/test_isinstance.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -263,17 +263,19 @@ def test_subclass_tuple(self):
263263
self.assertEqual(True, issubclass(int, (int, (float, int))))
264264
self.assertEqual(True, issubclass(str, (str, (Child, str))))
265265

266+
@support.skip_wasi_stack_overflow()
267+
@support.skip_emscripten_stack_overflow()
266268
def test_subclass_recursion_limit(self):
267269
# make sure that issubclass raises RecursionError before the C stack is
268270
# blown
269-
with support.infinite_recursion():
270-
self.assertRaises(RecursionError, blowstack, issubclass, str, str)
271+
self.assertRaises(RecursionError, blowstack, issubclass, str, str)
271272

273+
@support.skip_wasi_stack_overflow()
274+
@support.skip_emscripten_stack_overflow()
272275
def test_isinstance_recursion_limit(self):
273276
# make sure that issubclass raises RecursionError before the C stack is
274277
# blown
275-
with support.infinite_recursion():
276-
self.assertRaises(RecursionError, blowstack, isinstance, '', str)
278+
self.assertRaises(RecursionError, blowstack, isinstance, '', str)
277279

278280
def test_subclass_with_union(self):
279281
self.assertTrue(issubclass(int, int | float | int))
@@ -315,6 +317,9 @@ def __bases__(self):
315317
self.assertRaises(RecursionError, issubclass, int, X())
316318
self.assertRaises(RecursionError, isinstance, 1, X())
317319

320+
@support.skip_if_unlimited_stack_size
321+
@support.skip_emscripten_stack_overflow()
322+
@support.skip_wasi_stack_overflow()
318323
def test_infinite_recursion_via_bases_tuple(self):
319324
"""Regression test for bpo-30570."""
320325
class Failure(object):
@@ -324,6 +329,9 @@ def __getattr__(self, attr):
324329
with self.assertRaises(RecursionError):
325330
issubclass(Failure(), int)
326331

332+
@support.skip_if_unlimited_stack_size
333+
@support.skip_emscripten_stack_overflow()
334+
@support.skip_wasi_stack_overflow()
327335
def test_infinite_cycle_in_bases(self):
328336
"""Regression test for bpo-30570."""
329337
class X:
@@ -352,8 +360,9 @@ def blowstack(fxn, arg, compare_to):
352360
# Make sure that calling isinstance with a deeply nested tuple for its
353361
# argument will raise RecursionError eventually.
354362
tuple_arg = (compare_to,)
355-
for cnt in range(support.exceeds_recursion_limit()):
356-
tuple_arg = (tuple_arg,)
363+
while True:
364+
for _ in range(100):
365+
tuple_arg = (tuple_arg,)
357366
fxn(arg, tuple_arg)
358367

359368

0 commit comments

Comments
 (0)