Switched to new reader version

This commit is contained in:
Chris Boesch 2025-07-22 00:28:03 +02:00
parent 4bad15a95b
commit 49e73db5f5
No known key found for this signature in database
GPG Key ID: 8712DF4D3E364668

View File

@ -161,8 +161,7 @@ const CheckNamedStep = struct {
); );
defer stderr_file.close(); defer stderr_file.close();
var buffer: [4096]u8 = undefined; var stderr = stderr_file.readerStreaming(&.{});
const stderr = stderr_file.reader(&buffer);
{ {
// Skip the logo. // Skip the logo.
const nlines = mem.count(u8, root.logo, "\n"); const nlines = mem.count(u8, root.logo, "\n");
@ -170,10 +169,10 @@ const CheckNamedStep = struct {
var lineno: usize = 0; var lineno: usize = 0;
while (lineno < nlines) : (lineno += 1) { while (lineno < nlines) : (lineno += 1) {
_ = try readLine(stderr, &buf); _ = try readLine(&stderr, &buf);
} }
} }
try check_output(step, ex, stderr); try check_output(step, ex, &stderr);
} }
}; };
@ -214,8 +213,7 @@ const CheckStep = struct {
); );
defer stderr_file.close(); defer stderr_file.close();
var buffer: [4096]u8 = undefined; var stderr = stderr_file.readerStreaming(&.{});
const stderr = stderr_file.reader(&buffer);
for (exercises) |ex| { for (exercises) |ex| {
if (ex.number() == 1) { if (ex.number() == 1) {
// Skip the logo. // Skip the logo.
@ -224,15 +222,15 @@ const CheckStep = struct {
var lineno: usize = 0; var lineno: usize = 0;
while (lineno < nlines) : (lineno += 1) { while (lineno < nlines) : (lineno += 1) {
_ = try readLine(stderr, &buf); _ = try readLine(&stderr, &buf);
} }
} }
try check_output(step, ex, stderr); try check_output(step, ex, &stderr);
} }
} }
}; };
fn check_output(step: *Step, exercise: Exercise, reader: Reader) !void { fn check_output(step: *Step, exercise: Exercise, reader: *Reader) !void {
const b = step.owner; const b = step.owner;
var buf: [1024]u8 = undefined; var buf: [1024]u8 = undefined;
@ -299,12 +297,9 @@ fn check(
} }
} }
fn readLine(reader: fs.File.Reader, buf: []u8) !?[]const u8 { fn readLine(reader: *fs.File.Reader, buf: []u8) !?[]const u8 {
if (try reader.file.deprecatedReader().readUntilDelimiterOrEof(buf, '\n')) |line| { try reader.interface.readSliceAll(buf);
return mem.trimRight(u8, line, " \r\n"); return mem.trimRight(u8, buf, " \r\n");
}
return null;
} }
/// Fails with a custom error message. /// Fails with a custom error message.