aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_trace_ui.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-08-07 15:51:00 +0200
committerblasty <blasty@local>2026-08-07 15:51:00 +0200
commit8887549473c1177619da9088d406792009e72f39 (patch)
treea9828172760c22fc58b6ce60861f5341758f6fd5 /tests/test_trace_ui.py
parentInstall ida-codemode from PyPI, not a sibling clone (diff)
downloadida-tui-8887549473c1177619da9088d406792009e72f39.tar.gz
ida-tui-8887549473c1177619da9088d406792009e72f39.tar.xz
ida-tui-8887549473c1177619da9088d406792009e72f39.zip
tools/demo.py: a scripted feature tour, and the RPC bug it found
Ten scenes over the RPC layer: goto, listing scroll, pseudocode, the literal format ring, follow/back, the graph (zoom, minimap, edge walking), split view, xrefs, a rename and a comment, the strings/symbols/structs/hex browsers, and search. It drives the semantic verbs, so prompts are typed character by character and a recording shows the app being used rather than poked. --spawn opens its own pane on a COPY of the target (binary plus .i64, so the analysis is not re-paid) and tears it down afterwards; --sock drives a session you set up yourself, for control over pane size and zoom. Edits are reverted at the end, including a re-navigate so the last frame does not still show the demo's rename. --speed scales every pause, --only runs a subset, --list prints the scenes. Writing it found a real bug in the RPC hex verb: it waited for `app.is_hex` to become true, but backslash TOGGLES the hex view, so the call that leaves hex could never satisfy its predicate and always timed out after 20s. Any driver could open the hex view and never close it. It now waits for the mode to flip, the way toggle_view already did. Verified by running every scene against a live database and asserting the UI actually moved -- landed on main, decomp reachable, graph reports 280 blocks, split toggles off, no modal left open, the rename reaches the database and the revert removes it. 15/15. Full suite still 788 passed, 0 failed.
Diffstat (limited to 'tests/test_trace_ui.py')
0 files changed, 0 insertions, 0 deletions