providers/docker: raise better error for local executor

This commit is contained in:
Mitchell Hashimoto 2014-04-29 14:16:24 -07:00
parent 76e337a0d4
commit 013fc729a5
1 changed files with 8 additions and 6 deletions

View File

@ -17,15 +17,17 @@ module VagrantPlugins
Vagrant::Util::Subprocess.execute(*cmd, &block)
end
result.stderr.gsub!("\r\n", "\n")
result.stdout.gsub!("\r\n", "\n")
if result.exit_code != 0 && !interrupted
msg = result.stdout.gsub("\r\n", "\n")
msg << result.stderr.gsub("\r\n", "\n")
raise "#{cmd.inspect}\n#{msg}" #Errors::ExecuteError, :command => command.inspect
raise Errors::ExecuteError,
command: command.inspect,
stderr: result.stderr,
stdout: result.stdout
end
# Return the output, making sure to replace any Windows-style
# newlines with Unix-style.
result.stdout.gsub("\r\n", "\n")
result.stdout
end
end
end