RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館
« 前のエントリ
「Rubyでどう書く?」に答えてみます。Part.1
次のエントリー »
iKnow! API をリリースしました

Posted on
2008/10/09

Tags
iKnow!, ubuntu, テスト

Keywords


この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

Ubuntu 上で走る autotest の結果を MacBook の Growl に表示させる方法

こちらのブログでは遅ればせながら、先月末でドリコムを退職し、今月からiKnow! (Cerego Japan) で働いています。

iKnow! でも開発マシンは MacBook のままですが、開発用サーバマシンとして ubuntu を支給されたので、ubuntu から MacBook の開発ディレクトリをマウントして、DB やら mongrel やらは ubuntu 上で動かしています。

ubuntu には(てか apt には?)Mumbles という Mac の Growl に似た notification ツールがあって、そいつから LAN 上の Growl に notification を送れます。

LANG : shell etc.
  1. ~/.autotest

に、以下のように記述しておけば OK

LANG : RUBY
  1. require 'autotest/redgreen'
  2.  
  3. module Autotest::Mumbles
  4.  
  5.   def self.mumbles title, msg, successed
  6.     system "mumbles-send -g bianca.cerego.co.jp \"#{title}\" \"#{msg}\"" unless successed
  7.     system "mumbles-send \"#{title}\" \"#{msg}\""
  8.   end
  9.  
  10.   Autotest.add_hook :red do |at|
  11.     errors = at.results.slice(/(\d+)\s+tests,\s*(\d+)\s+assertions,\s*(\d+)\s+failures,\s*(\d+)\s+errors/)
  12.     mumbles "TESTS FAILED", errors, false
  13.   end
  14.  
  15.   Autotest.add_hook :green do |at|
  16.     #res = at.results[/\d+ tests.*$/]
  17.     res = at.results.scan(/Finished.*failures/m).to_s.gsub(/\e\[32m/,'')
  18.     mumbles "TESTS PASSED", res, true
  19.   end
  20. end

これで開発マシンと開発サーバが別のマシンでも、快適な autotest 環境を構築できますね。MacBook で autotest を走らせると、開発の手が止まる程遅くなるからな...

ちなみに Growl では notification に緊急度のようなのを付与できて、MacBook ではそれを元に成功と失敗で色分けしたりしてましたが、Mumbles から Growl には title と description しか送れないようです。

上記の設定では、テスト失敗時にだけ Growl に通知して、Growl 側の設定で Mumbles からの通知の緊急度を上げています。


この記事がお役に立ちましたら、一言コメントもらえると嬉しいですm_ _m


コメントはこちらから




使用可能タグ: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


« 前のエントリ
「Rubyでどう書く?」に答えてみます。Part.1
次のエントリー »
iKnow! API をリリースしました