summaryrefslogtreecommitdiff
path: root/9harness/build.zig
diff options
context:
space:
mode:
Diffstat (limited to '9harness/build.zig')
-rw-r--r--9harness/build.zig54
1 files changed, 0 insertions, 54 deletions
diff --git a/9harness/build.zig b/9harness/build.zig
deleted file mode 100644
index 4cf84d6..0000000
--- a/9harness/build.zig
+++ /dev/null
@@ -1,54 +0,0 @@
-//! Build fragment for 9harness: the harness fs daemon (binary `9harness`),
-//! a read-only fresh-from-disk 9P2000 view of every harness's state,
-//! posted by default under the name `harness`. It is `@import`ed by the
-//! root build.zig and called with the root builder, so every `b.path(...)`
-//! here is relative to the cloud9 root (hence the `9harness/` prefix),
-//! every option is defined by the root and every step it registers lands
-//! in the root's step list under the `9harness` prefix.
-//!
-//! Steps: 9harness, 9harness-test, 9harness-itest.
-const std = @import("std");
-
-pub const Context = struct {
- target: std.Build.ResolvedTarget,
- optimize: std.builtin.OptimizeMode,
- cloud9: *std.Build.Module,
- /// The 9ns binary, for the --mntgen money shot in the integration
- /// suite; null when 9ns is disabled, in which case the mntgen
- /// section of the suite is skipped.
- ns: ?*std.Build.Step.Compile,
-};
-
-pub const Artifacts = struct {
- exe: *std.Build.Step.Compile,
- /// `9harness-test`: the tree's unit tests (exclusions, path safety,
- /// node ids, vanishing files — all against a fake HOME).
- test_step: *std.Build.Step,
- /// `9harness-itest`: test/e2e.sh (fixture roots + scratch registry,
- /// plus the real-registry end-to-end when the `harness` name is free).
- itest_step: *std.Build.Step,
-};
-
-pub fn add(b: *std.Build, ctx: Context) Artifacts {
- const mod = b.createModule(.{
- .root_source_file = b.path("9harness/src/main.zig"),
- .target = ctx.target,
- .optimize = ctx.optimize,
- .imports = &.{.{ .name = "cloud9", .module = ctx.cloud9 }},
- });
- const exe = b.addExecutable(.{ .name = "9harness", .root_module = mod });
- const install = b.addInstallArtifact(exe, .{});
- b.getInstallStep().dependOn(&install.step);
- b.step("9harness", "Build and install only the harness fs daemon").dependOn(&install.step);
-
- const test_step = b.step("9harness-test", "Run the 9harness tree's unit tests (fake HOME; never the live roots)");
- test_step.dependOn(&b.addRunArtifact(b.addTest(.{ .root_module = mod })).step);
-
- const itest_step = b.step("9harness-itest", "Run 9harness/test/e2e.sh (posted name, reads, cmp of a transcript, mntgen mount, exclusions, live appends)");
- const run = b.addSystemCommand(&.{"bash"});
- run.addFileArg(b.path("9harness/test/e2e.sh"));
- run.addArtifactArg(exe);
- if (ctx.ns) |ns| run.addArtifactArg(ns);
- itest_step.dependOn(&run.step);
- return .{ .exe = exe, .test_step = test_step, .itest_step = itest_step };
-}