diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-07-16 23:02:39 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-07-17 09:26:31 -0700 |
| commit | 86699acbb951ceed3ecdd3bd93a00ceb02028361 (patch) | |
| tree | 772b69fba09b04071a840ddfdedcdd3ed0da249b /lib/std/testing.zig | |
| parent | b7d7446fbbfc35f291ffb641470233a7a9e18b9b (diff) | |
| download | zig-86699acbb951ceed3ecdd3bd93a00ceb02028361.tar.gz zig-86699acbb951ceed3ecdd3bd93a00ceb02028361.zip | |
std.Io.Reader: update OneByteReader usage to std.testing.Reader
Diffstat (limited to 'lib/std/testing.zig')
| -rw-r--r-- | lib/std/testing.zig | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/std/testing.zig b/lib/std/testing.zig index 8e7ffd3f23..f9027a4f47 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -1207,12 +1207,14 @@ pub inline fn fuzz( return @import("root").fuzz(context, testOne, options); } -/// A `std.io.Reader` that writes a predetermined list of buffers during `stream`. +/// A `std.Io.Reader` that writes a predetermined list of buffers during `stream`. pub const Reader = struct { calls: []const Call, - interface: std.io.Reader, + interface: std.Io.Reader, next_call_index: usize, next_offset: usize, + /// Further reduces how many bytes are written in each `stream` call. + artificial_limit: std.Io.Limit = .unlimited, pub const Call = struct { buffer: []const u8, @@ -1232,11 +1234,11 @@ pub const Reader = struct { }; } - fn stream(io_r: *std.io.Reader, w: *std.io.Writer, limit: std.io.Limit) std.io.Reader.StreamError!usize { + fn stream(io_r: *std.Io.Reader, w: *std.Io.Writer, limit: std.Io.Limit) std.Io.Reader.StreamError!usize { const r: *Reader = @alignCast(@fieldParentPtr("interface", io_r)); if (r.calls.len - r.next_call_index == 0) return error.EndOfStream; const call = r.calls[r.next_call_index]; - const buffer = limit.sliceConst(call.buffer[r.next_offset..]); + const buffer = r.artificial_limit.sliceConst(limit.sliceConst(call.buffer[r.next_offset..])); const n = try w.write(buffer); r.next_offset += n; if (call.buffer.len - r.next_offset == 0) { |
