summaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 20:03:34 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:17 -0300
commita8b59e683e9713a790daf7d9423f386e25b976fe (patch)
tree16f8a28410f97c77ff155f8ba67e1985675b79d1 /build.zig
parent0fd908eea63d04886b269438aa7529d3dd422256 (diff)
downloadpardes-a8b59e683e9713a790daf7d9423f386e25b976fe.tar.gz
pardes-a8b59e683e9713a790daf7d9423f386e25b976fe.zip
The GUI monkey lives in test/ and runs as zig build monkey-gui
It was a scratch tool (.scratch/render/tools/gui_monkey.py) that the gates rely on and that imported fs.py from a workspace since removed. It is test/gui_monkey.py now, importing from its own directory, and zig build monkey-gui -Dplatform=gui runs it on the built window, the same hidden test windows; it exits 1 when a combination fails, and its outdir is optional. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/build.zig b/build.zig
index e9e64056..f6081dad 100644
--- a/build.zig
+++ b/build.zig
@@ -1580,6 +1580,18 @@ pub fn build(b: *std.Build) void {
run_monkey9p.setCwd(b.path("."));
run_monkey9p.has_side_effects = true;
b.step("monkey-9p", "random 9P operations checking the documented rules (-- [--seed N]... [--steps M] [--replay F] [--shrink F] [--no-shrink])").dependOn(&run_monkey9p.step);
+ // The GUI's effects under random input in a hidden test window, each
+ // Motion x Lift x Bloom (test/gui_monkey.py): a gate, not part of
+ // fs-test, since it needs a Wayland display.
+ const monkey_gui_step = b.step("monkey-gui", "random input to hidden GUI test windows across the effect settings (-Dplatform=gui; -- [--seed N] [--steps M])");
+ if (platform == .gui) {
+ const run_monkey_gui = b.addSystemCommand(&.{ "python3", "-B", "test/gui_monkey.py" });
+ run_monkey_gui.addArtifactArg(exe);
+ if (b.args) |args| run_monkey_gui.addArgs(args);
+ run_monkey_gui.setCwd(b.path("."));
+ run_monkey_gui.has_side_effects = true;
+ monkey_gui_step.dependOn(&run_monkey_gui.step);
+ } else monkey_gui_step.dependOn(&b.addFail("monkey-gui needs -Dplatform=gui").step);
const run_monkey9p_smoke = b.addSystemCommand(&.{ "python3", "-B", "test/monkey9p.py" });
run_monkey9p_smoke.addArtifactArg(exe);
run_monkey9p_smoke.addArg("--smoke");