Class: Evilution::Runner::MutationExecutor

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/runner/mutation_executor.rb

Instance Method Summary collapse

Constructor Details

#initialize(config, isolator:, baseline_runner:, cache:, hooks:, diagnostics:, on_result: nil) ⇒ MutationExecutor

Returns a new instance of MutationExecutor.



10
11
12
13
14
15
16
17
18
# File 'lib/evilution/runner/mutation_executor.rb', line 10

def initialize(config, isolator:, baseline_runner:, cache:, hooks:, diagnostics:, on_result: nil)
  @config = config
  @isolator = isolator
  @baseline_runner = baseline_runner
  @cache = cache
  @hooks = hooks
  @diagnostics = diagnostics
  @on_result = on_result
end

Instance Method Details

#call(mutations, baseline_result = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/evilution/runner/mutation_executor.rb', line 20

def call(mutations, baseline_result = nil)
  @progress_bar = build_progress_bar(mutations.length)
  result = if config.jobs > 1
             run_parallel(mutations, baseline_result)
           else
             run_sequential(mutations, baseline_result)
           end
  @progress_bar&.finish
  result
end