diff options
| author | blasty <blasty@local> | 2026-08-07 14:46:56 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-08-07 14:46:56 +0200 |
| commit | 052d6d2f23f4e91682ef2273cd5c48c6011f994b (patch) | |
| tree | 691dc95f5bc8c49f35b3440391c3cb1d023b9f7b /tests/test_trace.py | |
| parent | tests: blob_ui 39.8s -> 4.1s, and a fatal it was hiding (diff) | |
| download | ida-tui-052d6d2f23f4e91682ef2273cd5c48c6011f994b.tar.gz ida-tui-052d6d2f23f4e91682ef2273cd5c48c6011f994b.tar.xz ida-tui-052d6d2f23f4e91682ef2273cd5c48c6011f994b.zip | |
tests: thumb_ui 5m13s (crashing) -> 8.5s
It was not slow because ARM analysis is slow. It was slow because it fought
Code Mode's ownership model and then waited out timeouts for the result.
The suite deleted <fixture>.i64 and REOPENED THE SAME PATH before each of its
four phases. That was safe when the TUI owned a private worker that died with
it. Under Code Mode the database is leased, and the previous phase's managed
worker can still hold it through its lease grace -- so the delete raced a live
owner, the next open never produced a listing, and the suite died on
`lst.model.index_of_ea(0)` with model=None after burning minutes in waits whose
results were never checked. Each phase now gets its own temp copy: separate
paths cannot collide and nothing waits for anyone to let go. This is the same
hazard docs/CODEMODE_PORT.md flags -- sweeping files that another client may
own -- showing up in the test suite rather than in the app.
Also replaced four `wait(lambda: lst.model is not <old>, ..., 60)` gates. An
item edit now keeps the listing's walk instead of rebuilding it, so the model
object is never replaced and each of those sat out its full 60 seconds while
the suite still reported success. They now settle() on the signal the checks
actually read: the status line announcing Thumb/ARM/64-bit, and the function
appearing in the index.
20 passed, 0 failed (it never reached a tally before).
Verified separately that the four ARM operations the port carried over do work
against a live database: set_thumb, thumb_scan, define_code_run, define_func_run.
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions
