成瀬です。

(2011/05/08 21:21), Tadayoshi Funaba wrote:
>> 表示したい場合を除いてはskipよりもreturnを使うようお願いしています。
> 
> そんなお願いをされた覚えはないです。いつもそうなんですが、後から来たひ
> とが持ってきた常識に振り回されます。誰が何処で決めてるんですか。重要な
> 事なら、これはコミッターは読んでおけと言ってもらわないとたぶん判りませ
> ん。

ここ数年、Rails 絡みでの状況の変化や、コミッタ以外の人がコードを読む機会
が増え、いくつか方針が変わっている事について、以前からいる方にはお手数お
かけしてます。

> 問題があるとすれば、test unit の仕様がバカで、無駄口を叩きすぎているの
> が根本でしょ。

test/unit の skip に関してはバックエンドである Ryan プロダクトの
minitest が常に表示するという仕様なので、それに沿った使い方をしています。

MiniTest::Assertions#skip
 Skips the current test. Gets listed at the end of the run but
 doesn't cause a failure exit code.

test/unit のレイヤーで挙動を変えること自体は可能なんですが、
現状の挙動はそれはそれでニーズがあるのでどうなんだろう。

なお、外部ライブラリ絡みの既存の例ですと、openssl や psych、win32ole, zlib
などのテストは、そのライブラリがない場合丸ごと無視するようにしてますね。

begin
  require 'zlib'
rescue LoadError
end

if defined? Zlib
  class TestZlibDeflate < Test::Unit::TestCase
   ...
  end
end

> たとえば、昔は、Changelog に何を書くべきか、lib/* の変更なんかは邪魔だ
> からむしろ書かないでくれ、まあでも書きたければ書いてもいい、という議論
> さえあったのに、ある日突然、「お前はなんで Changelog をちゃんと書かない
> んだ」と文句を言われたりするわけです。

ChangeLog は最近は「変更内容よりも意図を書くべし」という流れですかね。
この流れの CRuby における受容は、あるコミットがあり、かつそのコミットで
バグが混入した時に、後から他の人がそれを直そうとした場合、なぜその
コミットが行われたか書かれていないと、本当はどうあるべきなのかがわからない、
というケースがここ数年しばしばあったからです。
構図としては絶対量の関係もあり、なかださんのコミットをみんなで愚痴りつつ
悩むって事が多かったわけですが。たとえば [ruby-dev:43087] とか。

こちらはもっぱら一部のチケットと後は IRC での議論が多かったので、
ふなばさんの目にはつきづらかったと思います。
どっかのタイミングでメールを流した方が良かったですね。
不快な思いをさせて申し訳ない。

-- 
NARUSE, Yui  <naruse / airemix.jp>