def dump_failures
return if failed_examples.empty?
output.puts
output.puts "Failures:"
failed_examples.each_with_index do |example, index|
output.puts if index > 0
exception = example.execution_result[:exception_encountered]
short_padding = ' '
padding = ' '
if exception.is_a?(RSpec::Core::PendingExampleFixedError)
output.puts "#{short_padding}#{index.next}) #{example.full_description} FIXED"
output.puts "#{padding}Expected pending '#{example.metadata[:execution_result][:pending_message]}' to fail. No Error was raised."
else
output.puts "#{short_padding}#{index.next}) #{example.full_description}"
output.puts "#{padding}#{red("Failure/Error:")} #{red(read_failed_line(exception, example).strip)}"
exception.message.split("\n").each do |line|
output.puts "#{padding}#{red(line)}"
end
example.example_group.ancestors.push(example.example_group).each do |group|
if group.metadata[:shared_group_name]
output.puts "#{padding}Shared Example Group: \"#{group.metadata[:shared_group_name]}\" called from " +
"#{backtrace_line(group.metadata[:example_group][:location])}"
break
end
end
end
format_backtrace(exception.backtrace, example).each do |backtrace_info|
output.puts grey("#{padding}# #{backtrace_info}")
end
end
end