Move assert_success to SystemCommand::Result.
This commit is contained in:
parent
e351e6b31c
commit
7f39d333bc
@ -49,7 +49,8 @@ class SystemCommand
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_success if must_succeed?
|
result = Result.new(command, @output, @status, secrets: @secrets)
|
||||||
|
result.assert_success! if must_succeed?
|
||||||
result
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -105,12 +106,6 @@ class SystemCommand
|
|||||||
["/usr/bin/sudo", *askpass_flags, "-E", "--"]
|
["/usr/bin/sudo", *askpass_flags, "-E", "--"]
|
||||||
end
|
end
|
||||||
|
|
||||||
def assert_success
|
|
||||||
return if @status.success?
|
|
||||||
|
|
||||||
raise ErrorDuringExecution.new(command, status: @status, output: @output, secrets: @secrets)
|
|
||||||
end
|
|
||||||
|
|
||||||
def expanded_args
|
def expanded_args
|
||||||
@expanded_args ||= args.map do |arg|
|
@expanded_args ||= args.map do |arg|
|
||||||
if arg.respond_to?(:to_path)
|
if arg.respond_to?(:to_path)
|
||||||
@ -166,18 +161,21 @@ class SystemCommand
|
|||||||
sources.each(&:close_read)
|
sources.each(&:close_read)
|
||||||
end
|
end
|
||||||
|
|
||||||
def result
|
|
||||||
Result.new(command, @output, @status)
|
|
||||||
end
|
|
||||||
|
|
||||||
class Result
|
class Result
|
||||||
attr_accessor :command, :status, :exit_status
|
attr_accessor :command, :status, :exit_status
|
||||||
|
|
||||||
def initialize(command, output, status)
|
def initialize(command, output, status, secrets:)
|
||||||
@command = command
|
@command = command
|
||||||
@output = output
|
@output = output
|
||||||
@status = status
|
@status = status
|
||||||
@exit_status = status.exitstatus
|
@exit_status = status.exitstatus
|
||||||
|
@secrets = secrets
|
||||||
|
end
|
||||||
|
|
||||||
|
def assert_success!
|
||||||
|
return if @status.success?
|
||||||
|
|
||||||
|
raise ErrorDuringExecution.new(command, status: @status, output: @output, secrets: @secrets)
|
||||||
end
|
end
|
||||||
|
|
||||||
def stdout
|
def stdout
|
||||||
|
|||||||
@ -152,7 +152,8 @@ describe Cask::Pkg, :cask do
|
|||||||
"/usr/sbin/pkgutil",
|
"/usr/sbin/pkgutil",
|
||||||
args: ["--pkg-info-plist", pkg_id],
|
args: ["--pkg-info-plist", pkg_id],
|
||||||
).and_return(
|
).and_return(
|
||||||
SystemCommand::Result.new(nil, [[:stdout, pkg_info_plist]], instance_double(Process::Status, exitstatus: 0)),
|
SystemCommand::Result.new(nil, [[:stdout, pkg_info_plist]], instance_double(Process::Status, exitstatus: 0),
|
||||||
|
secrets: []),
|
||||||
)
|
)
|
||||||
|
|
||||||
info = pkg.info
|
info = pkg.info
|
||||||
|
|||||||
@ -55,7 +55,7 @@ class FakeSystemCommand
|
|||||||
if response.respond_to?(:call)
|
if response.respond_to?(:call)
|
||||||
response.call(command_string, options)
|
response.call(command_string, options)
|
||||||
else
|
else
|
||||||
SystemCommand::Result.new(command, [[:stdout, response]], OpenStruct.new(exitstatus: 0))
|
SystemCommand::Result.new(command, [[:stdout, response]], OpenStruct.new(exitstatus: 0), secrets: [])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,8 @@ require "system_command"
|
|||||||
|
|
||||||
describe SystemCommand::Result do
|
describe SystemCommand::Result do
|
||||||
subject(:result) {
|
subject(:result) {
|
||||||
described_class.new([], output_array, instance_double(Process::Status, exitstatus: 0, success?: true))
|
described_class.new([], output_array, instance_double(Process::Status, exitstatus: 0, success?: true),
|
||||||
|
secrets: [])
|
||||||
}
|
}
|
||||||
|
|
||||||
let(:output_array) {
|
let(:output_array) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user