summaryrefslogtreecommitdiff
path: root/test/v9fs_terminal.py
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 00:36:50 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commitc1990b3e6e196ad41379aa432bf3ccca8a65d9f0 (patch)
treed7ad5afe559f7f56464b14c3122242fa3f16399b /test/v9fs_terminal.py
parent717afaf3177a2e0925b18ae3445119efe808b129 (diff)
downloadpardes-c1990b3e6e196ad41379aa432bf3ccca8a65d9f0.tar.gz
pardes-c1990b3e6e196ad41379aa432bf3ccca8a65d9f0.zip
Flatten the 9P control tree and move it out of fs.zig
The served tree loses the self/ level: /index /ctl /new /log /screen /listeners /pane/<n>/... /os, with /src only in -Dembed-sources=true builds (default off, on for esp32p4). ctl speaks the editor's own language with two lowercase verbs, look TEXT and exec TEXT, plus acme's addr verbs; the new/ factory directory becomes one clone file; cons is gone (exec Msg); name and sel are files; stats report real lengths, modes and mtimes; /log streams pane new/del/rename/save events. The tree code lives in src/ninep/ (tree, pane, ctl, addr, pty, events, screen, sources); fs.zig keeps host access, mounts, resolution and find/grep. Same engine and transports. README (fs-help.txt) and docs rewritten; tests updated and extended. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'test/v9fs_terminal.py')
-rw-r--r--test/v9fs_terminal.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/v9fs_terminal.py b/test/v9fs_terminal.py
index cc273a40..b49246d1 100644
--- a/test/v9fs_terminal.py
+++ b/test/v9fs_terminal.py
@@ -74,7 +74,7 @@ sys.exit(1)
execute(client, control, 'Tty9p')
until(report_path.exists, 'Tty9p did not reach the sudo stand-in')
report = json.loads(report_path.read_text())
- pane = f"/self/pane/{report['pane']}"
+ pane = f"/pane/{report['pane']}"
until(lambda: b'V9FS_AUTH_READY' in client.read(pane + '/body'), 'prompt not visible')
assert report['socket'] == str(address)
assert report['argv'][:2] == ['-E', '--'], report
@@ -85,7 +85,7 @@ sys.exit(1)
assert report['path'] == path
assert report['shell'] == str(Path(shell).resolve()), report
# The detached core remains responsive during authentication.
- assert client.read('/self/pane/1/body') == b'initial\n'
+ assert client.read('/pane/1/body') == b'initial\n'
target = Path(report['mount'])
assert target.is_dir() and list(target.iterdir()) == []
if interrupted:
@@ -100,7 +100,7 @@ sys.exit(1)
client.write(pane + '/pty/data', b'printf "OUTER_READY:%s\\n" "$PARDES_PANE"\r')
expected = ('OUTER_READY:' + report['pane']).encode()
until(lambda: expected in client.read(pane + '/body'), 'original shell did not remain usable')
- assert client.read('/self/pane/1/body') == b'initial\n'
+ assert client.read('/pane/1/body') == b'initial\n'
print('Tty9p: shell-first startup, quoted paths, hidden password input, failure recovery and cleanup passed')