Class: Henitai::Integration::RspecProcessRunner
- Inherits:
-
Object
- Object
- Henitai::Integration::RspecProcessRunner
- Defined in:
- lib/henitai/integration/rspec_process_runner.rb
Overview
Runs RSpec child and suite processes on behalf of the integration.
Instance Method Summary collapse
- #run_mutant(integration, mutant:, test_files:, timeout:) ⇒ Object
- #run_suite(integration, test_files, timeout:) ⇒ Object
Instance Method Details
#run_mutant(integration, mutant:, test_files:, timeout:) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/henitai/integration/rspec_process_runner.rb', line 7 def run_mutant(integration, mutant:, test_files:, timeout:) log_paths = integration.scenario_log_paths(mutant_log_name(mutant)) pid = fork_mutant_process(integration, mutant, test_files, log_paths) wait_result = integration.wait_with_timeout(pid, timeout) integration.build_result(wait_result, log_paths) ensure finalize_mutant_run(integration, pid, wait_result) end |
#run_suite(integration, test_files, timeout:) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/henitai/integration/rspec_process_runner.rb', line 16 def run_suite(integration, test_files, timeout:) log_paths = integration.scenario_log_paths("baseline") wait_result = nil FileUtils.mkdir_p(File.dirname(log_paths[:stdout_path])) pid = integration.spawn_suite_process(test_files, log_paths) wait_result = integration.wait_with_timeout(pid, timeout) integration.build_result(wait_result, log_paths) ensure if pid integration.cleanup_process_group(pid) unless wait_result == :timeout integration.reap_child(pid) if wait_result.nil? end end |