class Turn::ProgressReporter

def post_report(suite)

def post_report(suite)
  tally = test_tally(suite)
  width = suite.collect{ |tr| tr.name.to_s.size }.max
  headers = [ 'TESTCASE  ', '  TESTS   ', 'ASSERTIONS', ' FAILURES ', '  ERRORS   ', 'SKIPS    ' ]
  io.puts "\n\n%-#{width}s       %10s %10s %10s %10s %10s\n" % headers
  io.puts ("-" * (width + 60))
  files = nil
  suite.each do |testrun|
    if testrun.files != [testrun.name] && testrun.files != files
      label = testrun.files.join(' ')
      label = Colorize.magenta(label)
      io.puts(label + "\n")
      files = testrun.files
    end
    io.puts paint_line(testrun, width)
  end
  #puts("\n%i tests, %i assertions, %i failures, %i errors\n\n" % tally)
  tally_line = ("-" * (width + 60))
  tally_line << "\n%-#{width}s  " % "TOTAL"
  tally_line << "%10s %10s %10s %10s %10s" % tally
  io.puts(tally_line + "\n\n\n")
  io.puts "-- Failures --\n\n" unless @fails.empty?
  @fails.each do |tc, cc|
    cc.each do |e|
      message = e.message.tabto(0).strip
      message = Colorize.red(message)
      message += "\n" + clean_backtrace(e.backtrace).join("\n")
      io.puts(message+"\n\n")
    end
    io.puts
  end
  io.puts "-- Errors --\n\n" unless @errors.empty?
  @errors.each do |tc, cc|
    cc.each do |e|
      message = e.message.tabto(0).strip
      message = Colorize.red(message)
      message += "\n" + clean_backtrace(e.backtrace).join("\n")
      io.puts(message+"\n\n")
    end
    io.puts
  end
  #fails = suite.select do |testrun|
  #  testrun.fail? || testrun.error?
  #end
  ##if tally[2] != 0 or tally[3] != 0
  #  unless fails.empty? # or verbose?
  #    io.puts "\n\n-- Failures and Errors --\n\n"
  #    fails.uniq.each do |testrun|
  #      message = testrun.message.tabto(0).strip
  #      message = Colorize.red(message)
  #      # backtrace ?
  #      #message += clean_backtrace(testrun.exception.backtrace).join("\n")
  #      io.puts(message+"\n\n")
  #    end
  #    io.puts
  #  end
  ##end
end