Commit Graph

8 Commits

Author SHA1 Message Date
Jeong, YunWon
754fc85fb8 Fix trace_event to return trace function result
- Return trace function's return value from trace_event()
  to support per-frame f_trace assignment
- Match CPython's trace_trampoline: set f_trace from call
  event return value, clear on error
- Fire return event only when frame is traced or profiled
- Remove expectedFailure from passing bdb/settrace tests
2026-02-28 12:09:59 +09:00
Jeong, YunWon
20a93c54c4 set_f_lineno, set_f_lasti, PyAtomic refactor
- Implement set_f_lineno with stack analysis and deferred unwinding
- Add Frame::set_lasti() for trace callback line jumps
- Implement co_branches() on code objects
- Clear _cache_format in opcode.py (no inline caches)
- Fix getattro slot inheritance: preserve native slot from inherit_slots
- Fix BRANCH_RIGHT src_offset in InstrumentedPopJumpIf*
- Move lasti increment before line event for correct f_lineno
- Skip RESUME instruction from generating line events
- Defer stack pops via pending_stack_pops/pending_unwind_from_stack
  to avoid deadlock with state mutex
- Fix ForIter exhaust target in mark_stacks to skip END_FOR
- Prevent exception handler paths from overwriting normal-flow stacks
- Replace #[cfg(feature = "threading")] duplication with PyAtomic<T>
  from rustpython_common::atomic (Radium-based unified API)
- Remove expectedFailure from 31 now-passing jump tests
2026-02-27 09:07:23 +09:00
Padraic Fanning
a30a251a5a Unmark passing test 2022-04-26 22:26:38 -04:00
Padraic Fanning
af79bc6e9d Update test_sys_settrace.py to CPython 3.10 2022-04-26 22:11:58 -04:00
Padraic Fanning
822b3c6fd6 Mark erroring/failing tests 2021-05-17 22:37:09 -04:00
Padraic Fanning
500a3ecc42 Skip tests for potential spurious errors 2021-05-17 22:37:09 -04:00
Padraic Fanning
d94e473840 Skip test for infinite looping 2021-05-17 22:37:09 -04:00
Padraic Fanning
df42f3e86d Add test_sys_settrace from CPython 3.8 2021-05-17 22:37:08 -04:00