diff options
Diffstat (limited to 'src/ninep/ctl.zig')
| -rw-r--r-- | src/ninep/ctl.zig | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig index aebd07e2..fdc83da8 100644 --- a/src/ninep/ctl.zig +++ b/src/ninep/ctl.zig @@ -2589,6 +2589,22 @@ test "a focus moved over 9P tells the programs that asked for focus reports, as try testing.expectEqualStrings("\x1b[O\x1b[I", moved.pty_buf[0..moved.pty_len]); } +test "a Restore of a name in the DumpDir asks for, and logs, the whole path it reads" { + if (comptime !pardes.hosted) return error.SkipZigTest; + const p = try withFile(testing.allocator, "x\n"); + defer p.deinit(); + try pardes.dump.dumpState(p); + var tmp = testing.tmpDir(.{}); + defer tmp.cleanup(); + try tmp.dir.writeFile(testing.io, .{ .sub_path = "x.dump.zon", .data = p.dump_out.? }); + var buf: [4096]u8 = undefined; + const dir = buf[0..try tmp.dir.realPath(testing.io, &buf)]; + try testing.expect(p.settings.dump_dir.set(dir)); + try testing.expectEqual(Status.ok, wr(p, @intFromEnum(tree.TopFile.ctl), "Restore x.dump.zon\n").reply.status); + var want: [4200]u8 = undefined; + try testing.expectEqualStrings(try std.fmt.bufPrint(&want, "{s}/x.dump.zon", .{dir}), p.restore_req.?); +} + test "a line starting with # runs as nothing at an exec or a ctl, silently" { const p = try withFile(testing.allocator, "x\n"); defer p.deinit(); |
