diff --git a/lib/std/Build.zig b/lib/std/Build.zig index 698aa3af34..086c0c1786 100644 --- a/lib/std/Build.zig +++ b/lib/std/Build.zig @@ -972,10 +972,24 @@ pub fn addRunArtifact(b: *Build, exe: *Step.Compile) *Step.Run { // Consider that this is declarative; the run step may not be run unless a user // option is supplied. const run_step = Step.Run.create(b, b.fmt("run {s}", .{exe.name})); - run_step.addArtifactArg(exe); + if (exe.kind == .@"test") { + if (exe.exec_cmd_args) |exec_cmd_args| { + for (exec_cmd_args) |cmd_arg| { + if (cmd_arg) |arg| { + run_step.addArg(arg); + } else { + run_step.addArtifactArg(exe); + } + } + } else { + run_step.addArtifactArg(exe); + } - if (exe.kind == .@"test" and exe.test_server_mode) { - run_step.enableTestRunnerMode(); + if (exe.test_server_mode) { + run_step.enableTestRunnerMode(); + } + } else { + run_step.addArtifactArg(exe); } return run_step;