tests: improve test case 3

Update test case 3 to check all exercises with an hint.
This commit is contained in:
Manlio Perillo 2023-05-14 17:17:01 +02:00
parent 1c184c2681
commit e7f62940eb

View file

@ -89,18 +89,29 @@ pub fn addCliTests(b: *std.Build, exercises: []const Exercise) *Step {
} }
{ {
// Test that `zig build -Dn=1` prints the hint. // Test that `zig build -Dn=n` prints the hint.
const case_step = createCase(b, "case-3"); const case_step = createCase(b, "case-3");
const cmd = b.addSystemCommand(&.{ b.zig_exe, "build", "-Dn=1" }); for (exercises[0 .. exercises.len - 1]) |ex| {
const expect = exercises[0].hint orelse ""; if (ex.skip) continue;
cmd.setName("zig build -Dn=1");
if (ex.hint) |hint| {
const n = ex.number();
const cmd = b.addSystemCommand(&.{
b.zig_exe,
"build",
b.fmt("-Dn={}", .{n}),
});
cmd.setName(b.fmt("zig build -Dn={}", .{n}));
cmd.expectExitCode(2); cmd.expectExitCode(2);
cmd.addCheck(.{ .expect_stderr_match = expect }); cmd.addCheck(.{ .expect_stderr_match = hint });
cmd.step.dependOn(case_step); case_step.dependOn(&cmd.step);
}
}
step.dependOn(&cmd.step); step.dependOn(case_step);
} }
return step; return step;