Class: Henitai::ExecutionEngine
- Inherits:
-
Object
- Object
- Henitai::ExecutionEngine
- Defined in:
- lib/henitai/execution_engine.rb
Overview
Runs pending mutants through the selected integration.
Instance Method Summary collapse
Instance Method Details
#run(mutants, integration, config, progress_reporter: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/henitai/execution_engine.rb', line 8 def run(mutants, integration, config, progress_reporter: nil) with_reports_dir(config) do with_coverage_dir(config) do @flaky_retry_count = 0 pending_mutants = Array(mutants).select(&:pending?) mutex = Mutex.new if parallel_execution?(config, pending_mutants) run_parallel(pending_mutants, integration, config, progress_reporter) else run_linear(pending_mutants, integration, config, progress_reporter, mutex) end warn_flaky_mutants(pending_mutants.size) mutants end end end |