aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r--Lib/test/test_exceptions.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 593107f290d..8bcb4b0f789 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -1169,6 +1169,21 @@ class ExceptionTests(unittest.TestCase):
self.assertIsInstance(v, RecursionError, type(v))
self.assertIn("maximum recursion depth exceeded", str(v))
+
+ @cpython_only
+ def test_crashcan_recursion(self):
+ # See bpo-33930
+
+ def foo():
+ o = object()
+ for x in range(1_000_000):
+ # Create a big chain of method objects that will trigger
+ # a deep chain of calls when they need to be destructed.
+ o = o.__dir__
+
+ foo()
+ support.gc_collect()
+
@cpython_only
def test_recursion_normalizing_exception(self):
# Issue #22898.