Module: Henitai::Integration

Defined in:
lib/henitai/integration.rb,
lib/henitai/integration/base.rb,
lib/henitai/integration/minitest.rb,
lib/henitai/integration/child_bootstrap.rb,
lib/henitai/integration/child_debug_log.rb,
lib/henitai/integration/loaded_features.rb,
lib/henitai/integration/minitest_load_path.rb,
lib/henitai/integration/mutant_run_support.rb,
lib/henitai/integration/rspec_child_runner.rb,
lib/henitai/integration/coverage_suppression.rb,
lib/henitai/integration/minitest_test_runner.rb,
lib/henitai/integration/rspec_process_runner.rb,
lib/henitai/integration/rspec_test_selection.rb,
lib/henitai/integration/scenario_log_support.rb,
lib/henitai/integration/child_runtime_control.rb,
lib/henitai/integration/minitest_suite_command.rb,
lib/henitai/integration/rails_environment_preloader.rb,
sig/henitai.rbs,
sig/henitai.rbs,
sig/henitai.rbs,
sig/henitai.rbs

Overview

Namespace for test-framework integrations.

An Integration is responsible for:

1. Discovering test files relevant to a Subject (test selection)
2. Running the selected tests in a child process with a mutant injected
3. Reporting pass/fail/timeout to the runner

Test selection uses longest-prefix matching:

Subject expression "Foo::Bar#method" matches example groups whose
description contains "Foo::Bar" or "Foo::Bar#method".

Built-in integrations:

rspec   RSpec 3.x

Defined Under Namespace

Modules: ChildBootstrap, ChildRuntimeControl, CoverageRuntimeSuppressors, CoverageStartSuppressor, MinitestLoadPath, MutantRunSupport, RspecChildRunner, RspecTestSelection, SchedulerDiagnostics, SimpleCovStartSuppressor Classes: Base, ChildDebugLog, ChildHandle, LoadedFeatures, Minitest, MinitestSuiteCommand, MinitestTestRunner, RailsEnvironmentPreloader, Rspec, RspecProcessRunner, ScenarioLogSupport

Constant Summary collapse

REQUIRE_DIRECTIVE_PATTERN =

Returns:

  • (Regexp)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.for(name) ⇒ Class

Integration adapter for RSpec.

This class exists as the stable public entry point for the RSpec integration, even though the concrete behavior is not implemented yet.

Parameters:

  • name (String)

    integration name, e.g. "rspec"

  • (String)

Returns:

  • (Class)

    integration class



38
39
40
41
42
43
44
45
46
47
# File 'lib/henitai/integration.rb', line 38

def self.for(name)
  const_get(name.capitalize)
rescue NameError
  available = constants.filter_map do |constant_name|
    integration = const_get(constant_name)
    constant_name.to_s.downcase if integration.is_a?(Class) && integration < Base
  end.sort.join(", ")

  raise ArgumentError, "Unknown integration: #{name}. Available: #{available}"
end

Instance Method Details

#build_rspec_runnerObject

Returns:

  • (Object)


135
# File 'sig/henitai.rbs', line 135

def build_rspec_runner: () -> untyped

#child_debug_logIntegration::ChildDebugLog



120
# File 'sig/henitai.rbs', line 120

def child_debug_log: () -> Integration::ChildDebugLog

#configure_rspec_runnervoid

This method returns an undefined value.

Parameters:

  • (Object)


136
# File 'sig/henitai.rbs', line 136

def configure_rspec_runner: (untyped) -> void

#debug_child_timeout_dumpvoid

This method returns an undefined value.

Parameters:

  • (Integer)


126
# File 'sig/henitai.rbs', line 126

def debug_child_timeout_dump: (Integer) -> void

#excluded_spec_filesArray[String]

Returns:

  • (Array[String])


150
# File 'sig/henitai.rbs', line 150

def excluded_spec_files: () -> Array[String]

#expand_candidatesArray[String]

Parameters:

  • (String)
  • (String)

Returns:

  • (Array[String])


161
# File 'sig/henitai.rbs', line 161

def expand_candidates: (String, String) -> Array[String]

#fallback_spec_filesArray[String]

Parameters:

Returns:

  • (Array[String])


149
# File 'sig/henitai.rbs', line 149

def fallback_spec_files: (Subject) -> Array[String]

#install_debug_timeout_trapvoid

This method returns an undefined value.



127
# File 'sig/henitai.rbs', line 127

def install_debug_timeout_trap: () -> void

#load_rspec_spec_filesvoid

This method returns an undefined value.

Parameters:

  • (Array[String])


137
# File 'sig/henitai.rbs', line 137

def load_rspec_spec_files: (Array[String]) -> void

#pausevoid

This method returns an undefined value.

Parameters:

  • (Float)


128
# File 'sig/henitai.rbs', line 128

def pause: (Float) -> void

#relative_candidatesArray[String]

Parameters:

  • (String)
  • (String)

Returns:

  • (Array[String])


159
# File 'sig/henitai.rbs', line 159

def relative_candidates: (String, String) -> Array[String]

#require_candidatesArray[String]

Parameters:

  • (String)
  • (String)

Returns:

  • (Array[String])


160
# File 'sig/henitai.rbs', line 160

def require_candidates: (String, String) -> Array[String]

#required_filesArray[String]

Parameters:

  • (String)

Returns:

  • (Array[String])


157
# File 'sig/henitai.rbs', line 157

def required_files: (String) -> Array[String]

#requires_source_file?Boolean

Parameters:

  • (String)
  • (String)

Returns:

  • (Boolean)


155
# File 'sig/henitai.rbs', line 155

def requires_source_file?: (String, String) -> bool

#requires_source_file_transitively?Boolean

Parameters:

  • (String)
  • (String)
  • (Array[String])

Returns:

  • (Boolean)


156
# File 'sig/henitai.rbs', line 156

def requires_source_file_transitively?: (String, String, ?Array[String]) -> bool

#resolve_required_fileString?

Parameters:

  • (String)
  • (String)
  • (String)

Returns:

  • (String, nil)


158
# File 'sig/henitai.rbs', line 158

def resolve_required_file: (String, String, String) -> String?

#rspec_config_linesArray[String]

Returns:

  • (Array[String])


152
# File 'sig/henitai.rbs', line 152

def rspec_config_lines: () -> Array[String]

#rspec_config_pathString

Returns:

  • (String)


153
# File 'sig/henitai.rbs', line 153

def rspec_config_path: () -> String

#rspec_exclude_patternsArray[String]

Returns:

  • (Array[String])


151
# File 'sig/henitai.rbs', line 151

def rspec_exclude_patterns: () -> Array[String]

#run_rspec_runnerObject

Parameters:

  • (Array[String])

Returns:

  • (Object)


134
# File 'sig/henitai.rbs', line 134

def run_rspec_runner: (Array[String]) -> untyped

#run_rspec_specsObject

Parameters:

  • (Object)

Returns:

  • (Object)


138
# File 'sig/henitai.rbs', line 138

def run_rspec_specs: (untyped) -> untyped

#select_testsArray[String]

Parameters:

Returns:

  • (Array[String])


144
# File 'sig/henitai.rbs', line 144

def select_tests: (Subject) -> Array[String]

#selection_patternsArray[String]

Parameters:

Returns:

  • (Array[String])


154
# File 'sig/henitai.rbs', line 154

def selection_patterns: (Subject) -> Array[String]

#spec_filesArray[String]

Returns:

  • (Array[String])


148
# File 'sig/henitai.rbs', line 148

def spec_files: () -> Array[String]

#suppress_coverage!void

This method returns an undefined value.



125
# File 'sig/henitai.rbs', line 125

def suppress_coverage!: () -> void

#suppress_simplecov!void

This method returns an undefined value.



124
# File 'sig/henitai.rbs', line 124

def suppress_simplecov!: () -> void