«前の日記(2007-09-07(Fri)) 最新 次の日記(2007-09-21(Fri))» 編集
RSS feed
Webサイトとは「つい、うっかりの存在論」である

角谷HTML化計画

「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」
「そのとおりかもしれません。しかし、おもしろくはないですね」と、レンロットは答えた。
J.L.ボルヘス『死とコンパス』(『伝奇集』収録)

2007-09-12(Wed) [長年日記]

■1 Re:「autotestが止まらない。

テストケースを増やして、いつの頃からかCtrl+C*2ではautotestが止まってくれなくなった。
カッとなって連打しても全然ダメ。

私も気がつくとAutotest::ScreenでCtrl+C 2回では止まらなくなりました(たしかそんなソースコードになっていた。リロードするんじゃなかったかな模造記憶。:interruptのフックでステータスメッセージを書き換えているそうです。パッチを投げてみるべき?)。

$HOME/.autotest

 require 'autotest/screen'
 Autotest::HOOKS.delete(:interrupt)

これで止まるようになりました。正しい対処かどうかはわかりませんが。

■2 RSpec + AutoTest::Screen

Autotest::Screenが便利な件について。 (SaikyoLine.jp)を多いに参考にさせてもらいましたので、AutoTest::ScreenをRSpec(1.0.8)に対応させた私のautotest設定を貼っておきます。

require 'autotest/screen'
Autotest::HOOKS.delete(:interrupt)
Autotest::Screen.statusline = %q[|%c %m/%d|%w %=]

class Autotest::Screen
  SCREEN_COLOR[:green] = 'gw'
  SCREEN_COLOR[:yellow] = 'yk'

  Autotest.add_hook :run_command do |at|
    message 'Running' if execute?
  end

  Autotest.add_hook :quit do |at|
    clear if execute?
  end

  Autotest.add_hook :ran_command do |at|
    return unless execute?
    results = [at.results].flatten.join("\n")
    output = results.slice(/(\d+)\sexamples?,\s*(\d+)\s.*failures?(?:,\s*(\d+)\s.*pendings?)?/)
    if output
      ex,fail,pend = $~.captures.map {|e| e.to_i}
      if 0 < fail
        message "FAIL #{ex}ex, F:#{fail} ", :red
      elsif 0 < pend
        message "Pend #{ex}ex, F:#{fail} P:#{pend}", :yellow
      else
        message "All Green #{ex}ex", :green
      end
    end
  end
end

Autotest::Screen.statuslineはお好みで。どうぞご利用ください。

本日のツッコミ(全3件) [ツッコミを入れる]
TrackBack (2007-09-13(Thu) 00:59)

http://saikyoline.jp/weblog/2007/09/autotest_1.html<br>SaikyoLine.jp<br>autotestが止まらない。その2<br>Re:「autotestが止まらない。」 - 角谷HTML化計画 (2007-0...

yoshuki (2007-09-13(Thu) 11:31)

こんにちは、どんなパッチを作ってよいやら悩んでしまったので顛末を報告してみました。<br>英語に自信がない・・・。

かくたに (2007-09-13(Thu) 13:06)

おおっ。すばらしい。パッチにできると英語できなくても問題ないからいいんですけどねー。"here's the patch:" って書けば済むから:-)


«前の日記(2007-09-07(Fri)) 最新 次の日記(2007-09-21(Fri))» 編集
RSS feed