class ParallelTests::RSpec::FailuresLogger

Public Instance Methods

dump_failure(*args) click to toggle source

RSpec 1: dumps 1 failed spec

# File lib/parallel_tests/rspec/failures_logger.rb, line 16
def dump_failure(*args)
end
dump_failures(*args) click to toggle source

RSpec 2: dumps all failed specs

# File lib/parallel_tests/rspec/failures_logger.rb, line 20
def dump_failures(*args)
end
dump_summary(*args) click to toggle source
# File lib/parallel_tests/rspec/failures_logger.rb, line 23
def dump_summary(*args)
  lock_output do
    if RSPEC_1
      dump_commands_to_rerun_failed_examples_rspec_1
    else
      dump_commands_to_rerun_failed_examples
    end
  end
  @output.flush
end
example_failed(example, *args) click to toggle source

RSpec 1: does not keep track of failures, so we do

Calls superclass method
# File lib/parallel_tests/rspec/failures_logger.rb, line 6
def example_failed(example, *args)
  if RSPEC_1
    @failed_examples ||= []
    @failed_examples << example
  else
    super
  end
end

Private Instance Methods

dump_commands_to_rerun_failed_examples_rspec_1() click to toggle source
# File lib/parallel_tests/rspec/failures_logger.rb, line 36
def dump_commands_to_rerun_failed_examples_rspec_1
  (@failed_examples||[]).each do |example|
    file, line = example.location.to_s.split(':')
    next unless file and line
    file.gsub!(%r(^.*?/spec/), './spec/')
    @output.puts "#{ParallelTests::RSpec::Runner.executable} #{file}:#{line} # #{example.description}"
  end
end