Class: Specinfra::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/beaker-rspec/helpers/serverspec.rb

Overview

Rewrite the runner to use the appropriate backend based upon platform information

Class Method Summary collapse

Class Method Details

.method_missing(meth, *args) ⇒ Object



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/beaker-rspec/helpers/serverspec.rb', line 117

def self.method_missing(meth, *args)
  backend = Specinfra.backend
  node = get_working_node
  if !node['platform'].include?('windows')
    processor = Specinfra::Processor
    if processor.respond_to?(meth)
      processor.send(meth, *args)
    elsif backend.respond_to?(meth)
      backend.send(meth, *args)
    else
      run(meth, *args)
    end
  elsif backend.respond_to?(meth)
    backend.send(meth, *args)
  else
    run(meth, *args)
  end
end

.run(meth, *args) ⇒ Object



136
137
138
139
140
141
142
143
144
145
146
# File 'lib/beaker-rspec/helpers/serverspec.rb', line 136

def self.run(meth, *args)
  backend = Specinfra.backend
  cmd = Specinfra.command.get(meth, *args)
  backend = Specinfra.backend
  ret = backend.run_command(cmd)
  if meth.to_s.start_with?('check')
    ret.success?
  else
    ret
  end
end