require 'open3'

def aosd_cat(message, color = 'green')
  Open3.popen3("aosd_cat -R #{color} -n 'DejaVuSans Bold 18'") do |stdin,stdout,stderr|
    stdin.puts message
  end
end

previous = nil
Autotest.add_hook :ran_command do |at|
  if result = at.results.last
    successful = [/\b0 errors/, /\b0 failures/].all?{|re| result.match(re)}
    aosd_cat result, successful ? 'green' : 'red' unless successful && previous
    previous = successful
  end
end

