diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-26 18:36:08 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:07 -0300 |
| commit | e381c96a08f08e03a340a24acb3fe5fe1fca51be (patch) | |
| tree | db0ef0cc2652d2797b9e2f73709db601816436d1 /build.zig | |
| parent | a4a2a96d023a5977ae7a7d07c7ee9e4fe38e9c60 (diff) | |
| download | pardes-e381c96a08f08e03a340a24acb3fe5fe1fca51be.tar.gz pardes-e381c96a08f08e03a340a24acb3fe5fe1fca51be.zip | |
adding better search to tty mode
Diffstat (limited to 'build.zig')
| -rw-r--r-- | build.zig | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -522,6 +522,27 @@ pub fn build(b: *std.Build) void { } b.step("hxdiff", "run the helix differential suite (-- <cases.jsonl> [goldens.jsonl [waivers.jsonl]])").dependOn(&run_hxdiff.step); + // file-vs-pty parity: the SAME harness binary, run in --parity mode. + // Each case runs twice over the same text and keys, once in a file + // pane and once in a pty pane, and the two result lines must be + // identical — the file pane is the oracle, so editing a shell pane + // cannot drift away from editing a document. + const run_hxparity = b.addRunArtifact(hxdiff); + run_hxparity.addArg("--parity"); + if (b.args) |args| run_hxparity.addArgs(args) else { + // the WHOLE helix corpus plus the editing extras: a parity gate + // that only ran the cases its author wrote could not catch the + // next regression. parity-waivers names the divergences that are + // not editing (pardes bindings, pty viewport geometry, a tab the + // emulator expands), each with its reason. + run_hxparity.addArgs(&.{ + "--waivers", "test/hxcases/parity-waivers.jsonl", + "test/hxcases/cases.jsonl", "test/hxcases/parity.jsonl", + }); + run_hxparity.setCwd(b.path(".")); + } + b.step("hxparity", "run the file-vs-pty editing parity suite (-- [--waivers w.jsonl] <cases.jsonl>...)").dependOn(&run_hxparity.step); + // modal.zig is pure std — its inline unit tests run here const unit = b.addTest(.{ .root_module = b.createModule(.{ .target = target, |
