RSpec 1: dumps 1 failed spec
# File lib/parallel_tests/rspec/failures_logger.rb, line 16 def dump_failure(*args) end
RSpec 2: dumps all failed specs
# File lib/parallel_tests/rspec/failures_logger.rb, line 20 def dump_failures(*args) end
# 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
RSpec 1: does not keep track of failures, so we do
# 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
# 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