Sha256: b577ea5f96dc638b2b82046027dfd6d57fc5612c69eeb3c95b688f9ae2ae7745
Contents?: true
Size: 1.32 KB
Versions: 6
Compression:
Stored size: 1.32 KB
Contents
module Windows::Exec include Beaker::CommandFactory def reboot exec(Beaker::Command.new('shutdown /r /t 0 /d p:4:1 /c "Beaker::Host reboot command issued"'), :expect_connection_failure => true) end ABS_CMD = 'c:\\\\windows\\\\system32\\\\cmd.exe' CMD = 'cmd.exe' def echo(msg, abs=true) (abs ? ABS_CMD : CMD) + " /c echo #{msg}" end def touch(file, abs=true) (abs ? ABS_CMD : CMD) + " /c echo. 2> #{file}" end def path 'c:/windows/system32;c:/windows' end def get_ip ip = execute("ipconfig | grep -i 'IP Address' | cut -d: -f2 | head -1").strip if ip == '' ip = execute("ipconfig | grep -i 'IPv4 Address' | cut -d: -f2 | head -1").strip end if ip == '' ip = execute("ipconfig | grep -i 'IPv6 Address' | cut -d: -f2 | head -1").strip end ip end # Attempt to ping the provided target hostname # @param [String] target The hostname to ping # @param [Integer] attempts Amount of times to attempt ping before giving up # @return [Boolean] true of ping successful, overwise false def ping target, attempts=5 try = 0 while try < attempts do result = exec(Beaker::Command.new("ping -n 1 #{target}"), :accept_all_exit_codes => true) if result.exit_code == 0 return true end try+=1 end result.exit_code == 0 end end
Version data entries
6 entries across 6 versions & 1 rubygems