Sha256: cc84d0cb0a822cee4e260fdfd4244983fe35d87e24a35baa8f0c30b941f6b865

Contents?: true

Size: 1.26 KB

Versions: 28

Compression:

Stored size: 1.26 KB

Contents

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

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
serverspec-0.10.13 lib/serverspec/type/command.rb
serverspec-0.10.12 lib/serverspec/type/command.rb
serverspec-0.10.11 lib/serverspec/type/command.rb
serverspec-0.10.10 lib/serverspec/type/command.rb
serverspec-0.10.9 lib/serverspec/type/command.rb
serverspec-0.10.8 lib/serverspec/type/command.rb
serverspec-0.10.7 lib/serverspec/type/command.rb
serverspec-0.10.6 lib/serverspec/type/command.rb