diff options
| author | Matthew Lugg <mlugg@mlugg.co.uk> | 2025-05-21 10:33:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-21 10:33:30 +0100 |
| commit | ef92c156b5ce1fade3106fc0d79af36bb4409246 (patch) | |
| tree | 1331b959b7cbfca6cc222426a56234317a94af97 | |
| parent | f925e1379aa53228610df9b7ffc3d87dbcce0dbb (diff) | |
| parent | cdba1d591aae2f5ac5dcd5ae186f5696f218710c (diff) | |
| download | zig-ef92c156b5ce1fade3106fc0d79af36bb4409246.tar.gz zig-ef92c156b5ce1fade3106fc0d79af36bb4409246.zip | |
Merge pull request #23946 from mlugg/build-step-run-cwd
std.Build.Step.Run: inherit build runner cwd
| -rw-r--r-- | lib/std/Build/Step/Run.zig | 3 | ||||
| -rw-r--r-- | test/standalone/options/build.zig | 2 | ||||
| -rw-r--r-- | test/tests.zig | 27 |
3 files changed, 18 insertions, 14 deletions
diff --git a/lib/std/Build/Step/Run.zig b/lib/std/Build/Step/Run.zig index eede464ab6..b7ad1307fb 100644 --- a/lib/std/Build/Step/Run.zig +++ b/lib/std/Build/Step/Run.zig @@ -1334,9 +1334,6 @@ fn spawnChildAndCollect( var child = std.process.Child.init(argv, arena); if (run.cwd) |lazy_cwd| { child.cwd = lazy_cwd.getPath2(b, &run.step); - } else { - child.cwd = b.build_root.path; - child.cwd_dir = b.build_root.handle; } child.env_map = run.env_map orelse &b.graph.env_map; child.request_resource_usage_statistics = true; diff --git a/test/standalone/options/build.zig b/test/standalone/options/build.zig index 07efea2a7b..5f1e496c4b 100644 --- a/test/standalone/options/build.zig +++ b/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").?); diff --git a/test/tests.zig b/test/tests.zig index 04c89444df..a25d3527c0 100644 --- a/test/tests.zig +++ b/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; |
