Class: Henitai::Integration::Minitest

Inherits:
Rspec
  • Object
show all
Defined in:
lib/henitai/integration.rb

Overview

Minitest integration adapter.

Coverage formatter injection remains implemented in the RSpec child runner. Minitest shares selection and execution semantics, but per-test coverage collection is not yet wired into this path.

Constant Summary

Constants inherited from Rspec

Rspec::DEFAULT_SUITE_TIMEOUT, Rspec::REQUIRE_DIRECTIVE_PATTERN

Instance Method Summary collapse

Methods inherited from Rspec

#build_result, #combined_log, #expand_candidates, #fallback_spec_files, #per_test_coverage_supported?, #read_log_file, #relative_candidates, #require_candidates, #required_files, #requires_source_file?, #requires_source_file_transitively?, #resolve_required_file, #scenario_log_paths, #select_tests, #selection_patterns, #test_files, #write_combined_log

Methods inherited from Base

#cleanup_process_group, #per_test_coverage_supported?, #reap_child, #select_tests, #test_files, #wait_with_timeout

Instance Method Details

#run_in_child(mutant:, test_files:, log_paths:) ⇒ Object



485
486
487
488
489
# File 'lib/henitai/integration.rb', line 485

def run_in_child(mutant:, test_files:, log_paths:)
  ENV["RAILS_ENV"] = "test" unless ENV["RAILS_ENV"] == "test"
  preload_environment
  super
end

#run_mutant(mutant:, test_files:, timeout:) ⇒ Object



480
481
482
483
# File 'lib/henitai/integration.rb', line 480

def run_mutant(mutant:, test_files:, timeout:)
  setup_load_path
  super
end

#run_suite(test_files, timeout: DEFAULT_SUITE_TIMEOUT) ⇒ Object



491
492
493
494
495
496
497
498
# File 'lib/henitai/integration.rb', line 491

def run_suite(test_files, timeout: DEFAULT_SUITE_TIMEOUT)
  log_paths = scenario_log_paths("baseline")
  pid = spawn_suite_process(test_files, log_paths)
  wait_result = wait_with_timeout(pid, timeout)
  build_result(wait_result, log_paths)
ensure
  cleanup_suite_process(pid, wait_result)
end