diff options
| author | blasty <blasty@local> | 2026-08-06 15:11:54 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-08-06 15:11:54 +0200 |
| commit | cad5a4f9f78c437e9ae80173118abb31df0954d4 (patch) | |
| tree | b365aadb301e5b0290fd27a879daf9c026c1d80f /tests/test_trace_rpc.py | |
| parent | drive: a note went to address 0, and a slow edit was reported as a failure (diff) | |
| download | ida-tui-cad5a4f9f78c437e9ae80173118abb31df0954d4.tar.gz ida-tui-cad5a4f9f78c437e9ae80173118abb31df0954d4.tar.xz ida-tui-cad5a4f9f78c437e9ae80173118abb31df0954d4.zip | |
pane: drive panes under zellij as well as tmux
The multiplexer is auto-detected ($ZELLIJ then $TMUX) and every pane
command works the same under both. Pane ids are self-identifying, so a
mixed set of tmux and zellij panes can be tracked at once. zellij has no
-l, so --size is ignored there, it always focuses a new pane (--detached
is emulated), and it leaves an EXITED husk behind that stop/reap now
clear. The pane tests skip on neither multiplexer rather than on no TMUX.
Diffstat (limited to 'tests/test_trace_rpc.py')
| -rw-r--r-- | tests/test_trace_rpc.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/test_trace_rpc.py b/tests/test_trace_rpc.py index 1007385..b5a77a4 100644 --- a/tests/test_trace_rpc.py +++ b/tests/test_trace_rpc.py @@ -2,12 +2,12 @@ """Trace integration over the RPC socket — the path an agent actually takes. The UI tests (test_trace_ui.py) drive the trace via in-process keystrokes and -the Textual pilot. This one spawns a real tmux pane with ``--trace`` and drives +the Textual pilot. This one spawns a real mux pane with ``--trace`` and drives every trace verb through the RPC socket, validating the JSON responses an agent would see. It exercises the serialization, the settle/timeout machinery, and the response shape that a driver depends on. -Requires: tmux, IDA (idalib), and a trace. Records a fresh trace with the QEMU +Requires: tmux or zellij, IDA (idalib), and a trace. Records a fresh trace with the QEMU tracer if built; falls back to /tmp/echotrace.0.log if present; skips with a message otherwise. @@ -78,8 +78,8 @@ def stop_pane(sock, timeout=60): def main() -> int: global PASS, FAIL - if not os.environ.get("TMUX"): - print(" skip: not inside tmux (test spawns a pane)") + if not os.environ.get("TMUX") and not os.environ.get("ZELLIJ"): + print(" skip: not inside tmux or zellij (test spawns a pane)") return 0 with tempfile.TemporaryDirectory() as tmp: |
