Skip to content

Commit 5308d8c

Browse files
committed
gh-155452: Skip dir recursion test on limited stacks
1 parent 9b0b726 commit 5308d8c

1 file changed

Lines changed: 16 additions & 14 deletions

File tree

Lib/test/test_builtin.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -700,20 +700,6 @@ def __init__(self):
700700
f = Foo()
701701
self.assertIn("y", dir(f))
702702

703-
# dir(obj) - cyclic __bases__ must raise RecursionError
704-
class Fake:
705-
pass
706-
707-
a = Fake()
708-
a.__bases__ = (a,)
709-
710-
class C:
711-
@property
712-
def __class__(self):
713-
return a
714-
715-
self.assertRaises(RecursionError, dir, C())
716-
717703
# dir(obj_no__dict__)
718704
class Foo(object):
719705
__slots__ = []
@@ -769,6 +755,22 @@ def __dir__(self):
769755
# test that object has a __dir__()
770756
self.assertEqual(sorted([].__dir__()), dir([]))
771757

758+
@support.skip_emscripten_stack_overflow()
759+
@support.skip_wasi_stack_overflow()
760+
def test_dir_cyclic_bases(self):
761+
class Fake:
762+
pass
763+
764+
a = Fake()
765+
a.__bases__ = (a,)
766+
767+
class C:
768+
@property
769+
def __class__(self):
770+
return a
771+
772+
self.assertRaises(RecursionError, dir, C())
773+
772774
def test___ne__(self):
773775
self.assertFalse(None.__ne__(None))
774776
self.assertIs(None.__ne__(0), NotImplemented)

0 commit comments

Comments
 (0)