Skip to content

Commit

Permalink
Reorder Buffet output to be more useful
Browse files Browse the repository at this point in the history
99% of the time, when you look at the output of Buffet, you're looking
for spec failures in Jenkins, which displays output from the top, not
the bottom like in the console. The current ordering of output doesn't
match this 99% use case.

This commit changes the order to display the summary stats immediately
followed by any spec failures.

Change-Id: I606fd35f849125a5dfd589b5e6b041ffd3fae1b8
Reviewed-on: https://gerrit.causes.com/27990
Tested-by: Shane da Silva <shane@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
  • Loading branch information
Shane da Silva committed Sep 5, 2013
1 parent e066c49 commit b47f6f5
Showing 1 changed file with 26 additions and 24 deletions.
50 changes: 26 additions & 24 deletions lib/buffet/runner.rb
Expand Up @@ -69,6 +69,30 @@ def display_results
results = []
results << "\n"

results << "Total Examples: #{@master.stats[:examples]}"
results << "Total Pending: #{@master.stats[:pending]}"
results << "Total Failures: #{@master.stats[:failures]}"
results << "Total Spurious Failures: #{@master.stats[:spurious_failures]}"
results << "Buffet consumed in #{@master.stats[:total_time]} seconds"

if @master.failures.any?
results << '' << 'SPEC FAILURES:'.red
results << ('=' * 80).red
results << @master.failures.map do |failure|
example_details(failure)
end
elsif @master.spurious_failures.any?
results << '' << 'SPURIOUS FAILURES:'.yellow
results << ('-' * 80).yellow
results << @master.spurious_failures.map do |spurious_failure|
example_details(spurious_failure)
end
elsif no_examples_run?
results << '' << 'No examples were run!'.red
end

results << '' << 'SLAVE STATS:'
results << ('-' * 80)
@master.stats[:slaves].each do |slave_name, slave_stats|
results << "#{slave_name}:"

Expand All @@ -87,37 +111,15 @@ def display_results
end
end

results << ''
results << "Total Examples: #{@master.stats[:examples]}"
results << "Total Pending: #{@master.stats[:pending]}"
results << "Total Failures: #{@master.stats[:failures]}"
results << "Total Spurious Failures: #{@master.stats[:spurious_failures]}"
results << "Buffet consumed in #{@master.stats[:total_time]} seconds"

unless @master.slave_exceptions.empty?
results << '' << 'Slave preparation failures:'.red
results << '' << 'SLAVE PREPARATION_FAILURES'.yellow
results << ('-' * 80).yellow
results << @master.slave_exceptions.map do |slave, ex|
"#{slave}:\n".yellow +
"#{ex}" + (ex.backtrace ? ex.backtrace.join("\n") : 'No backtrace')
end
end

if @master.failures.any?
results << '' << 'SPEC FAILURES:'.red
results << ('=' * 80).red
results << @master.failures.map do |failure|
example_details(failure)
end
elsif @master.spurious_failures.any?
results << '' << 'SPURIOUS FAILURES:'.yellow
results << ('-' * 80).yellow
results << @master.spurious_failures.map do |spurious_failure|
example_details(spurious_failure)
end
elsif no_examples_run?
results << '' << 'No examples were run!'.red
end

puts results
end

Expand Down

0 comments on commit b47f6f5

Please sign in to comment.