authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-04 21:44:58+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-04 21:46:55+02:00
log5bbbc8d29906aaaf3ffbe43ee10d9bc7acc321ea
treec6c982f43dc4980218670a730d7229799a96fbb7
parentc4b7caa52852a72b53205a167506eb480c26dadc
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

Revert "test: remove standalone options test"

This reverts commit d9cd4d087648c6d83e22dda6a4b82929a72fc771. Turns out Jacob restored this test as part of test-cli in cdba1d5.

2 files changed, 33 insertions(+), 0 deletions(-)

test/standalone/options/build.zig created+21
...@@ -0,0 +1,21 @@
1const std = @import("std");
2
3pub fn build(b: *std.Build) void {
4 const main = b.addTest(.{ .root_module = b.createModule(.{
5 .root_source_file = b.path("src/main.zig"),
6 .target = b.graph.host,
7 .optimize = .Debug,
8 }) });
9
10 const options = b.addOptions();
11 main.root_module.addOptions("build_options", options);
12 options.addOption(bool, "bool_true", b.option(bool, "bool_true", "t").?);
13 options.addOption(bool, "bool_false", b.option(bool, "bool_false", "f").?);
14 options.addOption(u32, "int", b.option(u32, "int", "i").?);
15 const E = enum { one, two, three };
16 options.addOption(E, "e", b.option(E, "e", "e").?);
17 options.addOption([]const u8, "string", b.option([]const u8, "string", "s").?);
18
19 const test_step = b.step("test", "Run unit tests");
20 test_step.dependOn(&b.addRunArtifact(main).step);
21}
test/standalone/options/src/main.zig created+12
...@@ -0,0 +1,12 @@
1const std = @import("std");
2const assert = std.debug.assert;
3
4const build_options = @import("build_options");
5
6test "build options" {
7 comptime assert(build_options.bool_true);
8 comptime assert(!build_options.bool_false);
9 comptime assert(build_options.int == 1234);
10 comptime assert(build_options.e == .two);
11 comptime assert(std.mem.eql(u8, build_options.string, "hello"));
12}