aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_project.py
diff options
context:
space:
mode:
authoruser <user@clank>2026-07-31 09:47:15 +0200
committeruser <user@clank>2026-07-31 09:47:15 +0200
commit0635d85d23ec04a130bcacb2f25cd74d680f4ef7 (patch)
treedc40ee28c677dfef28fd84bf2157e3de778d67cb /tests/test_project.py
parentrpc: stop lying to the driver about renames, modals and teardown (diff)
downloadida-tui-0635d85d23ec04a130bcacb2f25cd74d680f4ef7.tar.gz
ida-tui-0635d85d23ec04a130bcacb2f25cd74d680f4ef7.tar.xz
ida-tui-0635d85d23ec04a130bcacb2f25cd74d680f4ef7.zip
rpc: a navigation that timed out reported success and corrupted the next edit
goto/open ran `settle(app, pred, timeout)` and threw the result away. On a large database the listing build routinely outruns the default 20 s, so the verb returned a normal snapshot while the view had not moved. Every subsequent rename/comment then applied to wherever the caller *used* to be. Reproduced on a live pane against a 4 MB Go binary: `goto 0x1002019b0` returned ok with the view still at 0x100001000, and the following `rename main_inflate_zlib` renamed internal/abi.BoundsDecode instead — then the rename's own snapshot showed `main_inflate @ 0x1002019b0`, because by the time it was taken the goto had finally landed. Success reported, right-looking readback, wrong function edited, and it survived a save. This is what made an agent session stamp net_writeFull onto main_usage and conclude the tooling was flaky. goto/open now raise TimeoutError naming the target and where we actually are, suggesting a larger timeout=. _press() does the same for follow/toggle_view/ hex/xrefs/structs, which had the identical "predicate ignored" shape. tests/test_scenarios.py: 212 passed, 0 failed.
Diffstat (limited to 'tests/test_project.py')
0 files changed, 0 insertions, 0 deletions