Class: Mutant::Reporter::CLI::Printer::IsolationResult Private

Inherits:
Mutant::Reporter::CLI::Printer show all
Defined in:
lib/mutant/reporter/cli/printer/isolation_result.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Reporter for mutation results

Constant Summary collapse

CHILD_ERROR_MESSAGE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

<<~'MESSAGE'
  Killfork exited nonzero. Its result (if any) was ignored.
  Process status:
  %s
MESSAGE
LOG_MESSAGES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

<<~'MESSAGE'
  Log messages (combined stderr and stdout):
  %s
MESSAGE
EXCEPTION_ERROR_MESSAGE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

<<~'MESSAGE'
  Killing the mutation resulted in an integration error.
  This is the case when the tests selected for the current mutation
  did not produce a test result, but instead an exception was raised.

  This may point to the following problems:
  * Bug in mutant
  * Bug in the ruby interpreter
  * Bug in your test suite
  * Bug in your test suite under concurrency

  The following exception was raised while reading the killfork result:

  ```
  %s
  %s
  ```
MESSAGE
FORK_ERROR_MESSAGE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

<<~'MESSAGE'
  Forking the child process to isolate the mutation in failed.
  This meant that either the RubyVM or your OS was under too much
  pressure to add another child process.

  Possible solutions are:
  * Reduce concurrency
  * Reduce locks
MESSAGE
MAP =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

{
  Isolation::Fork::ChildError   => :visit_child_error,
  Isolation::Fork::ForkError    => :visit_fork_error,
  Isolation::Result::ErrorChain => :visit_chain,
  Isolation::Result::Exception  => :visit_exception,
  Isolation::Result::Success    => :visit_success
}.freeze

Constants inherited from Mutant::Reporter::CLI::Printer

NL

Instance Method Summary collapse

Instance Method Details

#runundefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Run report printer

Returns:

  • (undefined)


62
63
64
65
# File 'lib/mutant/reporter/cli/printer/isolation_result.rb', line 62

def run
  print_log_messages
  __send__(MAP.fetch(object.class))
end