GH-93252: Fix error handling for failed Python calls (GH-94693)

This commit is contained in:
Brandt Bucher 2022-07-08 18:52:26 -07:00 committed by GitHub
parent 4bed0db7c2
commit 8a285df806
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions

View file

@ -26,6 +26,18 @@ class FunctionCalls(unittest.TestCase):
self.assertIsInstance(res, dict)
self.assertEqual(list(res.items()), expected)
def test_frames_are_popped_after_failed_calls(self):
# GH-93252: stuff blows up if we don't pop the new frame after
# recovering from failed calls:
def f():
pass
for _ in range(1000):
try:
f(None)
except TypeError:
pass
# BOOM!
@cpython_only
class CFunctionCallsErrorMessages(unittest.TestCase):