class Tryouts::Tryout

def report

Prints error output. If there are no errors, it prints nothing.
def report
  return true if success?
  failed = @drills.select { |d| !d.success? }
  failed.each_with_index do |drill,index|
    title = ' %-59s' % %Q{ERROR #{index+1}/#{failed.size} "#{drill.name}"}
    puts $/, ' ' << title.color(:red).att(:reverse)
    
    if drill.dream
      puts '%24s: %s (expected %s)' % ["response code", drill.reality.rcode, drill.dream.rcode]
      puts '%24s: %s' % ["expected output", drill.dream.output.inspect]
      puts '%24s: %s' % ["actual output", drill.reality.output.inspect]
      if drill.reality.emsg || (drill.reality.emsg != drill.dream.emsg)
        puts '%24s: %s' % ["expected error msg", drill.dream.emsg.inspect]
          puts '%24s: %s' % ["actual error msg", drill.reality.emsg.inspect]
      end
      
      if drill.reality.rcode > 0
        puts '%24s: ' % ["backtrace"]
        puts drill.reality.backtrace, $/
      end
    else
      puts '%24s' % ["[nodream]"]
    end
    
  end
  false
end