summaryrefslogtreecommitdiff
path: root/test/output.zig
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/output.zig
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/output.zig')
-rw-r--r--test/output.zig12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/output.zig b/test/output.zig
index 21e9f04c..07a1ce23 100644
--- a/test/output.zig
+++ b/test/output.zig
@@ -575,6 +575,12 @@ test "EffectCode lists readable virtual sources used by this backend" {
const p = try Pardes.init(std.testing.allocator, .{ .tty_only = true });
defer p.deinit();
+ if (!pardes.memory.limits.embedded_sources) {
+ const before = p.active;
+ try std.testing.expect(p.executeBuiltinLine(0, "EffectCode PanelSlide"));
+ try std.testing.expectEqual(before, p.active);
+ return error.SkipZigTest;
+ }
try std.testing.expect(p.executeBuiltinLine(0, "EffectCode PanelSlide"));
const out = p.panes[p.active].?.file.?;
try std.testing.expectEqualStrings(config.effect_code_buffer, std.fs.path.basename(out.path));
@@ -1035,10 +1041,10 @@ test "identical result refresh keeps warm content caches without allocation" {
const style_ptr = file.highlights.ptr;
const highlight_start = file.highlight_start;
const selected = result.vsel;
- const event_node = pardes.filesystem.Node.of(result.serial, .event);
- const opened = pardes.filesystem.handle(p, .{ .tag = 0, .op = .open, .node = event_node });
+ const event_node = pardes.ctlfs.Node.of(result.serial, .event);
+ const opened = pardes.ctlfs.handle(p, .{ .tag = 0, .op = .open, .node = event_node });
try std.testing.expectEqual(.ok, opened.status);
- defer _ = pardes.filesystem.handle(p, .{ .tag = 0, .op = .release, .node = event_node, .handle = opened.handle });
+ defer _ = pardes.ctlfs.handle(p, .{ .tag = 0, .op = .release, .node = event_node, .handle = opened.handle });
for (0..32) |_| {
const incoming = try p.gpa.dupe(u8, text);