Sha256: 88641d6b59b2ae9d9a6b1a3f8fcd34144b7a808f4e89462c826e4d4fb5e362e0
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
require 'etc' module Serverspec module SshHelper def ssh_exec(cmd, opt={}) ssh_exec!("sudo #{cmd}") end private def ssh_exec!(command) stdout_data = '' stderr_data = '' exit_code = nil exit_signal = nil ssh = RSpec.configuration.ssh ssh.open_channel do |channel| channel.request_pty do |ch, success| abort "Could not obtain pty " if !success end channel.exec("#{command}") do |ch, success| abort "FAILED: couldn't execute command (ssh.channel.exec)" if !success channel.on_data do |ch,data| stdout_data += data end channel.on_extended_data do |ch,type,data| stderr_data += data end channel.on_request("exit-status") do |ch,data| exit_code = data.read_long end channel.on_request("exit-signal") do |ch, data| exit_signal = data.read_long end end end ssh.loop { :stdout => stdout_data, :stderr => stderr_data, :exit_code => exit_code, :exit_signal => exit_signal } end end module RedHatHelper def commands Serverspec::Commands::RedHat.new end end module DebianHelper def commands Serverspec::Commands::Debian.new end end module GentooHelper def commands Serverspec::Commands::Gentoo.new end end module SolarisHelper def commands Serverspec::Commands::Solaris.new end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
serverspec-0.1.1 | lib/serverspec/helper.rb |
serverspec-0.1.0 | lib/serverspec/helper.rb |
serverspec-0.0.19 | lib/serverspec/helper.rb |
serverspec-0.0.18 | lib/serverspec/helper.rb |