authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2025-05-21 10:33:30+01:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2025-05-21 10:33:30+01:00
logef92c156b5ce1fade3106fc0d79af36bb4409246
tree1331b959b7cbfca6cc222426a56234317a94af97
parentf925e1379aa53228610df9b7ffc3d87dbcce0dbb
parentcdba1d591aae2f5ac5dcd5ae186f5696f218710c
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #23946 from mlugg/build-step-run-cwd

std.Build.Step.Run: inherit build runner cwd

3 files changed, 18 insertions(+), 14 deletions(-)

lib/std/Build/Step/Run.zig-3
......@@ -1334,9 +1334,6 @@ fn spawnChildAndCollect(
13341334 var child = std.process.Child.init(argv, arena);
13351335 if (run.cwd) |lazy_cwd| {
13361336 child.cwd = lazy_cwd.getPath2(b, &run.step);
1337 } else {
1338 child.cwd = b.build_root.path;
1339 child.cwd_dir = b.build_root.handle;
13401337 }
13411338 child.env_map = run.env_map orelse &b.graph.env_map;
13421339 child.request_resource_usage_statistics = true;
test/standalone/options/build.zig+1-1
......@@ -8,7 +8,7 @@ pub fn build(b: *std.Build) void {
88 }) });
99
1010 const options = b.addOptions();
11 main.addOptions("build_options", options);
11 main.root_module.addOptions("build_options", options);
1212 options.addOption(bool, "bool_true", b.option(bool, "bool_true", "t").?);
1313 options.addOption(bool, "bool_false", b.option(bool, "bool_false", "f").?);
1414 options.addOption(u32, "int", b.option(u32, "int", "i").?);
test/tests.zig+17-10
......@@ -1657,16 +1657,23 @@ pub fn addCliTests(b: *std.Build) *Step {
16571657 }
16581658
16591659 {
1660 // TODO this should move to become a CLI test rather than standalone
1661 // cases.addBuildFile("test/standalone/options/build.zig", .{
1662 // .extra_argv = &.{
1663 // "-Dbool_true",
1664 // "-Dbool_false=false",
1665 // "-Dint=1234",
1666 // "-De=two",
1667 // "-Dstring=hello",
1668 // },
1669 // });
1660 const run_test = b.addSystemCommand(&.{
1661 b.graph.zig_exe,
1662 "build",
1663 "test",
1664 "-Dbool_true",
1665 "-Dbool_false=false",
1666 "-Dint=1234",
1667 "-De=two",
1668 "-Dstring=hello",
1669 });
1670 run_test.addArg("--build-file");
1671 run_test.addFileArg(b.path("test/standalone/options/build.zig"));
1672 run_test.addArg("--cache-dir");
1673 run_test.addFileArg(.{ .cwd_relative = b.cache_root.join(b.allocator, &.{}) catch @panic("OOM") });
1674 run_test.setName("test build options");
1675
1676 step.dependOn(&run_test.step);
16701677 }
16711678
16721679 return step;