aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_trace_rpc.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-08-06 15:11:54 +0200
committerblasty <blasty@local>2026-08-06 15:11:54 +0200
commitcad5a4f9f78c437e9ae80173118abb31df0954d4 (patch)
treeb365aadb301e5b0290fd27a879daf9c026c1d80f /tests/test_trace_rpc.py
parentdrive: a note went to address 0, and a slow edit was reported as a failure (diff)
downloadida-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.py8
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: