Commit cdba1d591a

Jacob Young <jacobly0@users.noreply.github.com>
2025-05-21 04:59:07
test-cli: port build options test to new build system API
Since we need testing for passing `--build-file` and `--cache-dir` together anyway, use it to test the disabled build options test.
1 parent fe85569
Changed files (2)
test
standalone
options
test/standalone/options/build.zig
@@ -8,7 +8,7 @@ pub fn build(b: *std.Build) void {
     }) });
 
     const options = b.addOptions();
-    main.addOptions("build_options", options);
+    main.root_module.addOptions("build_options", options);
     options.addOption(bool, "bool_true", b.option(bool, "bool_true", "t").?);
     options.addOption(bool, "bool_false", b.option(bool, "bool_false", "f").?);
     options.addOption(u32, "int", b.option(u32, "int", "i").?);
test/tests.zig
@@ -1657,16 +1657,23 @@ pub fn addCliTests(b: *std.Build) *Step {
     }
 
     {
-        // TODO this should move to become a CLI test rather than standalone
-        //    cases.addBuildFile("test/standalone/options/build.zig", .{
-        //        .extra_argv = &.{
-        //            "-Dbool_true",
-        //            "-Dbool_false=false",
-        //            "-Dint=1234",
-        //            "-De=two",
-        //            "-Dstring=hello",
-        //        },
-        //    });
+        const run_test = b.addSystemCommand(&.{
+            b.graph.zig_exe,
+            "build",
+            "test",
+            "-Dbool_true",
+            "-Dbool_false=false",
+            "-Dint=1234",
+            "-De=two",
+            "-Dstring=hello",
+        });
+        run_test.addArg("--build-file");
+        run_test.addFileArg(b.path("test/standalone/options/build.zig"));
+        run_test.addArg("--cache-dir");
+        run_test.addFileArg(.{ .cwd_relative = b.cache_root.join(b.allocator, &.{}) catch @panic("OOM") });
+        run_test.setName("test build options");
+
+        step.dependOn(&run_test.step);
     }
 
     return step;