mirror of
https://codeberg.org/ziglings/exercises.git
synced 2025-08-02 22:55:37 +00:00
Switched to new reader version
This commit is contained in:
parent
4bad15a95b
commit
49e73db5f5
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user