summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/snap.zig19
1 files changed, 19 insertions, 0 deletions
diff --git a/build/snap.zig b/build/snap.zig
index 6b3d2104..7aa06884 100644
--- a/build/snap.zig
+++ b/build/snap.zig
@@ -49,6 +49,25 @@ pub fn addTty(b: *std.Build, opts: struct {
run_snap.has_side_effects = true;
const snap_step = b.step("snap", "run the snapshot parity suite (-- --update regenerates goldens)");
snap_step.dependOn(&run_snap.step);
+ // Random scripts through pardes-snap, hunting panics (test/monkey.zig):
+ // not a gate, it is slow and random over seeds; a seed replays.
+ const monkey = b.addExecutable(.{
+ .name = "pardes-monkey",
+ .root_module = b.createModule(.{
+ .target = opts.target,
+ .optimize = opts.optimize,
+ .root_source_file = b.path("test/monkey.zig"),
+ .link_libc = true,
+ }),
+ });
+ const run_monkey = b.addRunArtifact(monkey);
+ run_monkey.addArtifactArg(snap);
+ run_monkey.addArtifactArg(opts.exe);
+ if (b.args) |args| run_monkey.addArgs(args);
+ run_monkey.has_side_effects = true;
+ b.step("monkey", "random snapshot scripts hunting panics (-- <seeds> [steps] [--from=N] [--out=DIR])").dependOn(&run_monkey.step);
+ const monkey_tests = b.addTest(.{ .root_module = monkey.root_module });
+ b.step("monkey-test", "test the monkey's generator and panic detector").dependOn(&b.addRunArtifact(monkey_tests).step);
const run_driver_test = b.addRunArtifact(snap);
run_driver_test.addArg("--self-test");
run_driver_test.has_side_effects = true;