class Mutest::Runner
Runner
baseclass
Attributes
result[R]
Final result
@return [Result::Env]
Public Class Methods
new(*)
click to toggle source
Initialize object
@return [undefined]
Calls superclass method
# File lib/mutest/runner.rb, line 11 def initialize(*) super reporter.start(env) run_mutation_analysis end
Private Instance Methods
config()
click to toggle source
Config
for this mutest execution
@return [Config]
# File lib/mutest/runner.rb, line 80 def config env.config end
mutation_test_config()
click to toggle source
Configuration for parallel execution engine
@return [Parallel::Config]
# File lib/mutest/runner.rb, line 60 def mutation_test_config Parallel::Config.new( env: env.actor_env, jobs: config.jobs, processor: env.method(:kill), sink: Sink.new(env), source: Parallel::Source::Array.new(env.mutations) ) end
reporter()
click to toggle source
Reporter
to use
@return [Reporter]
# File lib/mutest/runner.rb, line 73 def reporter env.config.reporter end
run_driver(driver)
click to toggle source
Run driver
@param [Driver] driver
@return [Object]
the last returned status payload
# File lib/mutest/runner.rb, line 40 def run_driver(driver) status = nil sleep = env.config.kernel.method(:sleep) loop do status = driver.status reporter.progress(status) break if status.done sleep.call(reporter.delay) end driver.stop status.payload end
run_mutation_analysis()
click to toggle source
Run mutation analysis
@return [undefined]
# File lib/mutest/runner.rb, line 29 def run_mutation_analysis @result = run_driver(Parallel.async(mutation_test_config)) reporter.report(result) end