gh-140373: Correctly emit PY_UNWIND event when generator is closed (GH-140767)

This commit is contained in:
Mikhail Efimov 2025-10-31 13:09:22 +03:00 committed by GitHub
parent ac1ffd7785
commit d17f28fed5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 30 additions and 1 deletions

View file

@ -1079,6 +1079,25 @@ def f():
self.assertEqual(events, expected)
# gh-140373
def test_gen_unwind(self):
def gen():
yield 1
def f():
g = gen()
next(g)
g.close()
recorders = (
UnwindRecorder,
)
events = self.get_events(f, TEST_TOOL, recorders)
expected = [
("unwind", GeneratorExit, "gen"),
]
self.assertEqual(events, expected)
class LineRecorder:
event_type = E.LINE