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

**URL:** <https://www.ruby-forum.com/t/using-growl-to-display-not-just-pass-fail-but-also-error/135361>\
**Category:** Rails\
**Created:** [April 21, 2008, 3:46pm UTC](https://www.ruby-forum.com/t/using-growl-to-display-not-just-pass-fail-but-also-error/135361 "2008-04-21T15:46:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gavin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/439d5e/32.png) [@gavin](https://www.ruby-forum.com/u/gavin)\
**Post date:** [April 21, 2008, 3:46pm UTC](https://www.ruby-forum.com/t/using-growl-to-display-not-just-pass-fail-but-also-error/135361/1 "2008-04-21T15:46:17Z")

</div>

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
