Autotest desde linux como en una Mac
Sunday, 17 February , 2008
Mirando algunos videos de rspec y autotest, noté que al correr los tests, en la pantalla de la notebook del video salían unos hermosos mensajes con transparencias, investigando un poco encontré que esto se hace con un programa llamado growl que sólo viene para usuarios de Mac OS X
luego de tal desilusión comencé a buscar una alternativa en GNU/Linux … sí! hay un programa llamado aosd_cat que sirve para mostrar mensajes de texto UTF8 en la pantalla, vamos al grano:
apt-get install aosd_cat
Para probarlo podemos abrir una consola y ejecutar:
echo "Probando..." | aosd_cat --back-color=black \
--fore-color=red \
--back-opacity=135 --padding=50
Ahora vamos a configurar autotest para que use aosd_cat
editamos el archivo ~/.autotest y ponemos lo siguiente:
module Autotest::Growl
def self.aosd_cat title, msg, color
params = "--back-color=black --fade-in=20 --fade-out=100 \
--fore-color=#{color} --back-opacity=200 \
--padding=30 \ --shadow-offset=0 \
--x-offset=0 --y-offset=0"
system "echo \"#{title} #{msg} \" | aosd_cat #{params}"
end
Autotest.add_hook :run do |at|
aosd_cat "Autotest running", "Started", "Orange"
end
Autotest.add_hook :ran_command do |at|
results = [at.results].flatten.join("\n")
output = results\
.slice(/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+pending)?/)
if output
if $~[2].to_i > 0
aosd_cat "FAIL !!!", "#{output}", "red"
else
color = output =~ /[1-9]\spending?/ ? "yellow" : "green"
aosd_cat "Pass", "#{output}", "#{color}"
end
end
end
Listo, ya podemos usar autotest y ver los mensajes como en una mac
autotest path-al-proyecto/
Les dejo un screencast para que vean como quedó.

Monday, 18 February , 2008 at 4:07 am
Enhorabuena!, me ha encantado este post, yo he estado mirando algo para hacer lo mismo sobre dbus o .
para hacerlo rular con autotest.
Además existe un proyecto libre http://tinyurl.com/yvskpz que se quiere asemejar al growl de mac os, y quién sabe podriamos usar el método que aqui expones
Gracias!