class Specinfra::Backend::BeakerCygwin
Public Instance Methods
Source
# File lib/beaker-rspec/helpers/serverspec.rb, line 183 def run_command(cmd, _opt = {}) node = get_working_node script = create_script(cmd) # when node is not cygwin rm -rf will fail so lets use native del instead # There should be a better way to do this, but for now , this works if node.is_cygwin? delete_command = 'rm -rf' redirection = '< /dev/null' else delete_command = 'del' redirection = '< NUL' end on node, "#{delete_command} script.ps1" create_remote_file(node, 'script.ps1', script) # When using cmd on a pswindows node redirection should be set to < NUl # when using a cygwing one, /dev/null should be fine ret = ssh_exec!(node, "powershell.exe -File script.ps1 #{redirection}") if @example @example.metadata[:command] = script @example.metadata[:stdout] = ret[:stdout] end CommandResult.new ret end
Run a windows style command using serverspec. Defaults to running on the ‘default_node’ test node, otherwise uses the node specified in @example.metadata @param [String] cmd The serverspec command to executed @param [Hash] opt No currently supported options @return [Hash] Returns a hash containing :exit_status, :stdout and :stderr