Module: Beaker::TestmodeSwitcher

Defined in:
lib/beaker/testmode_switcher.rb,
lib/beaker/testmode_switcher/dsl.rb,
lib/beaker/testmode_switcher/version.rb,
lib/beaker/testmode_switcher/runner_base.rb,
lib/beaker/testmode_switcher/local_runner.rb,
lib/beaker/testmode_switcher/beaker_runners.rb

Overview

central definition of this gem’s version

Defined Under Namespace

Modules: DSL Classes: BeakerAgentRunner, BeakerApplyRunner, BeakerRunnerBase, LocalRunner, RunnerBase, UnacceptableExitCodeError

Constant Summary collapse

VERSION =
"0.2.0".freeze

Class Method Summary collapse

Class Method Details

.create_runner(mode, hosts, logger) ⇒ Object

creates a test runner implementing the specified mode



15
16
17
18
19
20
21
22
23
24
# File 'lib/beaker/testmode_switcher.rb', line 15

def self.create_runner(mode, hosts, logger)
  case mode
  when :apply then
    BeakerApplyRunner.new hosts, logger
  when :agent then
    BeakerAgentRunner.new hosts, logger
  when :local
    LocalRunner.new
  end
end

.runner(hosts, logger) ⇒ Object

returns the current runner



27
28
29
# File 'lib/beaker/testmode_switcher.rb', line 27

def self.runner(hosts, logger)
  @runner ||= create_runner testmode, hosts, logger
end

.testmodeObject

returns the current test mode

Raises:

  • (ArgumentError)


8
9
10
11
12
# File 'lib/beaker/testmode_switcher.rb', line 8

def self.testmode
  mode = ENV['BEAKER_TESTMODE'] || 'apply'
  return mode.to_sym if %w(apply agent local).include? mode
  raise ArgumentError, "Unknown BEAKER_TESTMODE supplied: '#{mode}'"
end