summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 10:13:45 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a (patch)
treea54e857ae9f999ef9eee96b07d6761a86ccc7b1b /test
parentae7aba431c1a152dc999e485e8285ebd285811f8 (diff)
downloadpardes-87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a.tar.gz
pardes-87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a.zip
Focus gives the keyboard only, reads empty while a header has it, and sits in the root listing's natural place
A write to /focus leaves a folded pane folded, as rio keeps current apart from unhide; while a column or workspace tag has the keyboard no pane does, so /focus reads empty and every pane's ctl says notcurrent (an empty read also no longer answers stale staged bytes). focus, ctl and commands now list after status, and the discovery test checks the root as a set rather than by position. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test')
-rw-r--r--test/fs.py5
-rw-r--r--test/fs_bench.zig6
2 files changed, 6 insertions, 5 deletions
diff --git a/test/fs.py b/test/fs.py
index bafe665c..c7552a2b 100644
--- a/test/fs.py
+++ b/test/fs.py
@@ -144,8 +144,9 @@ def discovery(binary, embedded=False):
root = Path(directory)
with session(binary, root, 'discovery') as (client, address):
top = client.list('/')
- assert top[:10] == ['README', 'index', 'status', 'look', 'exec', 'log', 'screen',
- 'listeners', 'pane', 'os'], top
+ # A set: which files the root holds, not the order a listing gives.
+ assert set(top) - {'src', 'shaders'} == {'README', 'index', 'status', 'focus', 'ctl', 'commands',
+ 'look', 'exec', 'log', 'screen', 'listeners', 'pane', 'os'}, top
assert 'self' not in top and 'cons' not in top and 'new' not in top, top
assert ('src' in top) == embedded, (top, embedded)
before = client.read('/index')
diff --git a/test/fs_bench.zig b/test/fs_bench.zig
index 75b2eb11..746fe737 100644
--- a/test/fs_bench.zig
+++ b/test/fs_bench.zig
@@ -133,8 +133,8 @@ fn checkReply(s: *Session, req: ctlfs.Req, reply: ctlfs.Reply) !void {
const bytes = s.core.fs.out.items;
if (reply.payload != .staged or reply.payload.staged != bytes.len or bytes.len > req.size)
return error.IncorrectReply;
- const names = [_][]const u8{ "README", "index", "status", "look", "exec", "log", "screen", "listeners", "pane", "os" };
- const nodes = [_]u64{ @intFromEnum(ctlfs.TopFile.README), @intFromEnum(ctlfs.TopFile.index), @intFromEnum(ctlfs.TopFile.status), @intFromEnum(ctlfs.TopFile.look), @intFromEnum(ctlfs.TopFile.exec), @intFromEnum(ctlfs.TopFile.log), @intFromEnum(ctlfs.TopFile.screen), @intFromEnum(ctlfs.TopFile.listeners), @intFromEnum(ctlfs.TopFile.pane), filesystem.os_root };
+ const names = [_][]const u8{ "README", "index", "status", "focus", "ctl", "commands", "look", "exec", "log", "screen", "listeners", "pane", "os" };
+ const nodes = [_]u64{ @intFromEnum(ctlfs.TopFile.README), @intFromEnum(ctlfs.TopFile.index), @intFromEnum(ctlfs.TopFile.status), @intFromEnum(ctlfs.TopFile.focus), @intFromEnum(ctlfs.TopFile.ctl), @intFromEnum(ctlfs.TopFile.commands), @intFromEnum(ctlfs.TopFile.look), @intFromEnum(ctlfs.TopFile.exec), @intFromEnum(ctlfs.TopFile.log), @intFromEnum(ctlfs.TopFile.screen), @intFromEnum(ctlfs.TopFile.listeners), @intFromEnum(ctlfs.TopFile.pane), filesystem.os_root };
var off: usize = 0;
var entry: usize = 0;
while (off < bytes.len) : (entry += 1) {
@@ -144,7 +144,7 @@ fn checkReply(s: *Session, req: ctlfs.Req, reply: ctlfs.Reply) !void {
const size: usize = bytes[off + 9];
off += 10;
if (dir > 1 or size == 0 or size > bytes.len - off) return error.IncorrectReply;
- if (entry < names.len and (node != nodes[entry] or dir != @intFromBool(entry >= 8) or
+ if (entry < names.len and (node != nodes[entry] or dir != @intFromBool(entry >= 11) or
!std.mem.eql(u8, names[entry], bytes[off..][0..size]))) return error.IncorrectReply;
off += size;
}