class Mixlib::ShellOut::Helper::FakeShellOut

def error!

def error!
  raise Mixlib::ShellOut::ShellCommandFailed, "Unexpected exit status of #{exitstatus} running #{@args}: #{stderr}" if error?
end

def error?

def error?
  @valid_exit_codes.none?(exitstatus)
end

def initialize(args, options, result)

def initialize(args, options, result)
  @args = args
  @options = options
  @stdout = result.stdout
  @stderr = result.stderr
  @exitstatus = result.exit_status
  @valid_exit_codes = Array(options[:returns] || 0)
  @status = OpenStruct.new(success?: (@valid_exit_codes.include? exitstatus))
end