Using Growl to display not just Pass/Fail, but also Error

The code below is a typical for using Growl to display autotest
notifications, but it only displays Pass/Fail. I’d like to see
notifications for Errors as well. Has anyone implemented this?


module Autotest::Growl

AUTOTEST_IMAGE_ROOT = “~/.autotest_images”

def self.growl title, msg, img, pri=0, sticky=""
system “growlnotify -n autotest --image #{img} -p #{pri} -m
#{msg.inspect} #{title} #{sticky}”
end

def self.growl_fail(output)
growl “FAIL”, “#{output}”, “#{AUTOTEST_IMAGE_ROOT}/fail.png”, 2
end

def self.growl_pass(output)
growl “Pass”, “#{output}”, “#{AUTOTEST_IMAGE_ROOT}/pass.png”
end

Autotest.add_hook :ran_command do |at|

results = [at.results].flatten.join("\n")

if results.include? ‘tests’
output = results.slice(/(\d+)\s+tests?,\s*(\d+)\s+assertions?,
\s*(\d+)\s+failures?(,\s*(\d+)\s+errors)?/)
if output
$~[3].to_i + $~[5].to_i > 0 ? growl_fail(output) :
growl_pass(output)
end
else
output = results.slice(/(\d+)\s+examples?,\s*(\d+)\s+failures?(,
\s*(\d+)\s+not implemented)?/)
if output
$~[2].to_i > 0 ? growl_fail(output) : growl_pass(output)
end
end
end

end