diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-20 00:36:50 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | c1990b3e6e196ad41379aa432bf3ccca8a65d9f0 (patch) | |
| tree | d7ad5afe559f7f56464b14c3122242fa3f16399b /test/output.zig | |
| parent | 717afaf3177a2e0925b18ae3445119efe808b129 (diff) | |
| download | pardes-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.zig | 12 |
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); |
