Skip to content

Commit

Permalink
Merge pull request #416 from serverspec/override-failure-message
Browse files Browse the repository at this point in the history
Override failure message
  • Loading branch information
mizzy committed Jun 5, 2014
2 parents 5c6ac35 + 41ab1d3 commit 3d7bdc6
Showing 1 changed file with 16 additions and 30 deletions.
46 changes: 16 additions & 30 deletions lib/serverspec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,24 @@
require 'serverspec/commands/base'
require 'rspec/core/formatters/base_formatter'

module RSpec
module Core
module Formatters
class BaseTextFormatter < BaseFormatter
def dump_failure_info(example)
exception = example.execution_result[:exception]
exception_class_name = exception_class_name_for(exception)
output.puts "#{long_padding}#{failure_color("Failure/Error:")} #{failure_color(read_failed_line(exception, example).strip)}"
output.puts "#{long_padding}#{failure_color(exception_class_name)}: #{failure_color(exception.message)}" unless exception_class_name =~ /RSpec/
output.puts "#{long_padding} #{failure_color(example.metadata[:command])}" if example.metadata[:command]
output.puts "#{long_padding} #{failure_color(example.metadata[:stdout])}" if example.metadata[:stdout] != ''
exception.message.to_s.split("\n").each { |line| output.puts "#{long_padding} #{failure_color(line)}" } if exception.message

if shared_group = find_shared_group(example)
dump_shared_failure_info(shared_group)
end
module RSpec::Core::Notifications
class FailedExampleNotification < ExampleNotification
def message_lines
@lines ||=
begin
lines = ["Failure/Error: #{read_failed_line.strip}"]
lines << "#{exception_class_name}:" unless exception_class_name =~ /RSpec/
exception.message.to_s.split("\n").each do |line|
lines << " #{line}" if exception.message
lines << " #{example.metadata[:command]}"
lines << " #{example.metadata[:stdout]}" if example.metadata[:stdout]
lines << " #{example.metadata[:stderr]}" if example.metadata[:stderr]
end
end
class ProgressFormatter < BaseTextFormatter
def dump_failure_info(example)
exception = example.execution_result[:exception]
exception_class_name = exception_class_name_for(exception)
output.puts "#{long_padding}#{failure_color("Failure/Error:")} #{failure_color(read_failed_line(exception, example).strip)}"
output.puts "#{long_padding}#{failure_color(exception_class_name)}: #{failure_color(exception.message)}" unless exception_class_name =~ /RSpec/
output.puts "#{long_padding} #{failure_color(example.metadata[:command])}" if example.metadata[:command]
output.puts "#{long_padding} #{failure_color(example.metadata[:stdout])}" if example.metadata[:stdout] != ''
exception.message.to_s.split("\n").each { |line| output.puts "#{long_padding} #{failure_color(line)}" } if exception.message

if shared_group = find_shared_group(example)
dump_shared_failure_info(shared_group)
end
if shared_group
lines << "Shared Example Group: \"#{shared_group.metadata[:shared_group_name]}\"" +
" called from #{backtrace_formatter.backtrace_line(shared_group.location)}"
end
lines
end
end
end
Expand Down

0 comments on commit 3d7bdc6

Please sign in to comment.