Files
RustPython/Lib/test/test_doctest
Jeong, YunWon 53a906c916 Match settrace events, f_lineno jumps, and type dict lookup (#8758)
* Keep type dict keys and report current f_lasti

Snapshot the MRO during lookup so non-string keys can run __eq__,
skip subclass updates when set_bases is reentered, make module
__dict__ a readonly member, and forbid deleting exception __dict__.
f_lasti is the current opcode; line events skip NO_LOCATION units.

Assisted-by: Grok:grok-4.6

* Fire settrace call events from RESUME

PY_START/PY_RESUME become a 'call' event only at the first RESUME
of a frame activation, so lasti is the resume unit and f_trace_lines
is honored. Unskip passing TraceTestCase methods.

Assisted-by: Grok:grok-4.6

* Record what_event so f_lineno jumps match line traces

Store the current monitoring event while a trace callback
runs, reject jumps from call/return/exception, unwind tracer
errors in the traced frame, and fire call on PY_THROW.
Unskip JumpTestCase except the infinite-loop and five remaining xfails.

Assisted-by: Grok:grok-4.6

* Fire remaining settrace events from opcodes and jumps

Keep GET_ANEXT's iterator in mark_stacks, dispatch non-call
events through f_trace, fire PY_YIELD/PY_RETURN from the
opcodes, emit same-line LINE on backward jumps, and raise at
flattened call sites. Unskip the rest of test_sys_settrace.

Assisted-by: Grok:grok-4.6

* Fix trampoline raise panic and unxfail passing traces

Do not decode inline-cache units as opcodes when a flattened
call raises. Remove expectedFailure from test_trace and
test_regrtest coverage tests that now pass.

Assisted-by: Grok:grok-4.6

* Fire profile returns without a per-frame f_trace

setprofile must see PY_RETURN/PY_YIELD even when f_trace is unset.
Drop EXPECTED_FAILURE from the pdb doctest and unxfail
test_unfinished_generator.

Assisted-by: Grok:grok-4.6
2026-09-21 18:11:32 +09:00
..
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00
2025-12-31 09:43:10 +09:00