Autotest con advertencias en Growl

7 Mayo, 2008 |Comentarios (1)

He buscado en la red un método para “enganchar” la utilidad de testeo Autotest en Ruby y el sistema de mensajes de sistema Growl en Mac OS X y la verdad es que no me fue muy bien.
Una vez modificado el archivo .autotest en mi $home ya funciona a la perfección. Relato a continuación como obtener esta maravilla.
Basta instalar Growl en Mac OS tal que así:
wget http://growl.info/files/Growl-1.1.2.dmg
open Growl-1.1.2.dmg
cd /Volumes/Growl\ 1.1.2/Extras/growlnotify
less install.sh
sudo ./install.sh
cd
hdiutil detach /Volumes/Growl\ 1.1.2

y luego descargarte un par de imágenes para hacer los mensajes un poco más bonitos
cd ~
wget http://blog.internautdesign.com/files/rails_fail.png
wget http://blog.internautdesign.com/files/rails_ok.png
mkdir -p Pictures/Rails_Growl/
mv rails_fail.png Pictures/Rails_Growl/rails_fail.png
mv rails_ok.png Pictures/Rails_Growl/rails_ok.png

luego se edita el fichero .autotest que he modificado un poquillo

  1. require ‘autotest/redgreen’
  2. require ‘autotest/html_report’
  3. require ‘autotest/menu’
  4. module Autotest::Growl
  5.  
  6.   def self.growl msg, options={}
  7.     salida = "growlnotify -n autotest –image \"#{options[:img]}\"  -p #{options[:pri]} -d #{rand(100)} -m \"#{msg}\" \"Tests\" #{options[:sticky]}"
  8.     system salida
  9.   end
  10.  
  11.   Autotest.add_hook :ran_command do |at|
  12.     results = [at.results].flatten.join("\n")
  13.     output = results.slice(/(\d+)\s+assertions?,\s*(\d+)\s+failures?,\s*(\d+)\s+errors?/)
  14.     failures = $~[3].to_i + $~[2].to_i
  15.     options = (failures > 0)? {:img=>"/Users/#{ENV["USER"]}/Pictures/Rails/fail.png", :pri => 0, :sticky => "" } : {:img => "/Users/#{ENV["USER"]}/Pictures/Rails/ok.png", :pri => 0,:sticky => "" }
  16.     output = output.gsub(/assertions/, "aserciones").gsub(/failures/, "fallos").gsub(/errors/, "errores")
  17.     if output
  18.       growl "#{output}", options
  19.     end
  20.   end
  21. end
  22.  

y listo ya podemos correr test en apps ruby y que se nos notifique en growl

Autotest con Growl


Entradas relacionadas

1 Comentario --> Formulario de contacto

Comentarios

[...] Fuente: Mabishu [...]


RSS feed para los comentarios de este post. URI TrackBack.

Deja tu comentario


This site is using OpenAvatar based on




: