module Serverspec module Type class Command < Base attr_accessor :result def return_stdout?(content) ret = backend.run_command(@name) if content.instance_of?(Regexp) ret.stdout =~ content else ret.stdout.strip == content end end def return_stderr?(content) ret = backend.run_command(@name) # In ssh access with pty, stderr is merged to stdout # See http://stackoverflow.com/questions/7937651/receiving-extended-data-with-ssh-using-twisted-conch-as-client # So I use stdout instead of stderr if content.instance_of?(Regexp) ret.stdout =~ content else ret.stdout.strip == content end end def return_exit_status?(status) ret = backend.run_command(@name) ret.exit_status.to_i == status end def stdout if @result.nil? @result = backend.run_command(@name).stdout end @result end # In ssh access with pty, stderr is merged to stdout # See http://stackoverflow.com/questions/7937651/receiving-extended-data-with-ssh-using-twisted-conch-as-client # So I use stdout instead of stderr alias :stderr :stdout end end end