(#10104) Ensure trigger run args are an array prior to join
Prior to this commit, if the args key was a string rather than an array of strings, the `join` command would fail when appending the arguments to the run command for a given script. This commit updates that by ensuring the `args` option is an array prior to joining the arguments.
This commit is contained in:
parent
64acd68c64
commit
29aba535ce
|
@ -158,7 +158,8 @@ module Vagrant
|
|||
@machine.ui.detail(I18n.t("vagrant.trigger.run.inline", command: config.inline))
|
||||
else
|
||||
cmd = File.expand_path(config.path, @env.root_path)
|
||||
cmd << " #{config.args.join(' ' )}" if config.args
|
||||
args = Array(config.args)
|
||||
cmd << " #{args.join(' ')}" if !args.empty?
|
||||
cmd = Shellwords.split(cmd)
|
||||
|
||||
@machine.ui.detail(I18n.t("vagrant.trigger.run.script", path: config.path))
|
||||
|
|
|
@ -131,11 +131,11 @@ describe Vagrant::Plugin::V2::Trigger do
|
|||
{info: "hi", run: {inline: "echo 'hi'", env: {"KEY"=>"VALUE"}},
|
||||
exit_codes: [0,50]} }
|
||||
let(:path_block) { {warn: "bye",
|
||||
run: {path: "script.sh", env: {"KEY"=>"VALUE"}},
|
||||
run: {path: "script.sh", args: "HELLO", env: {"KEY"=>"VALUE"}},
|
||||
on_error: :continue} }
|
||||
|
||||
let(:path_block_ps1) { {warn: "bye",
|
||||
run: {path: "script.ps1", env: {"KEY"=>"VALUE"}},
|
||||
run: {path: "script.ps1", args: ["HELLO", "THERE"], env: {"KEY"=>"VALUE"}},
|
||||
on_error: :continue} }
|
||||
|
||||
let(:exit_code) { 0 }
|
||||
|
|
Loading…
Reference in New Issue