Skip to content

Commit 4601a73

Browse files
committed
distill ClarTestStep.zig into TestHelper
1 parent fe0a0ac commit 4601a73

2 files changed

Lines changed: 22 additions & 47 deletions

File tree

build.zig

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -547,17 +547,17 @@ pub fn build(b: *std.Build) !void {
547547

548548
const TestHelper = struct {
549549
b: *std.Build,
550-
top_level_step: *std.Build.Step,
551-
runner: *std.Build.Step.Compile,
552-
const ClarStep = @import("build/ClarTestStep.zig");
550+
top_level_step: *Step,
551+
runner: *Step.Compile,
552+
clar_parser: *Step.Compile,
553+
const Step = std.Build.Step;
553554

554555
fn addTest(
555556
self: @This(),
556557
name: []const u8,
557558
args: []const []const u8,
558559
) void {
559-
const clar = ClarStep.create(self.b, name, self.runner);
560-
self.top_level_step.dependOn(clar.step);
560+
const clar = self.createClarTestStep(name);
561561
clar.addArgs(args);
562562
}
563563

@@ -567,19 +567,34 @@ pub fn build(b: *std.Build) !void {
567567
/// Comma seperated list of tests
568568
tests: []const u8,
569569
) void {
570-
const clar = ClarStep.create(self.b, name, self.runner);
571-
self.top_level_step.dependOn(clar.step);
570+
const clar = self.createClarTestStep(name);
572571
var iter = std.mem.tokenizeScalar(u8, tests, ',');
573572
while (iter.next()) |filter| {
574573
clar.addArg(self.b.fmt("-s{s}", .{filter}));
575574
}
576575
}
576+
577+
fn createClarTestStep(self: @This(), name: []const u8) *Step.Run {
578+
const clar = self.b.addRunArtifact(self.clar_parser);
579+
self.top_level_step.dependOn(&clar.step);
580+
clar.setName(self.b.fmt("test-{s}", .{name}));
581+
clar.addArtifactArg(self.runner);
582+
return clar;
583+
}
577584
};
578585

579586
const helper: TestHelper = .{
580587
.b = b,
581588
.top_level_step = test_step,
582589
.runner = runner_exe,
590+
.clar_parser = b.addExecutable(.{
591+
.name = "clar-parser",
592+
.root_module = b.createModule(.{
593+
.root_source_file = b.path("build/clar_parser.zig"),
594+
.target = b.graph.host,
595+
.optimize = .Debug,
596+
}),
597+
}),
583598
};
584599

585600
if (b.option([]const u8, "test-filter", "Comma seperated list of specific tests to run")) |tests| {

build/ClarTestStep.zig

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)