rubyspecとrubyのtest-allについて

[ruby-dev:45533] http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/45533 から始まるスレッドに関連した(と思われる)つぶやきのまとめ。備忘録用。 他に関連する発言があれば教えていただけるとありがたいです。 4/20 23:16 ごろ追加。その結果rubyspecだけの話題ではなくなったのでタイトル変更。
2
nagachika @nagachika

rubyspec は昔少し覗いてみた印象としてはテストじゃなくてMRIの*実装を*愚直に反映させて他実装がreferenceにしたいためのもの(バグも再現している)って感じだったので、テストは別に必用。spec って名前だけど「仕様」じゃなくて「実装」を反映してるよねあれ

2012-04-20 00:52:19
成瀬 @nalsh

@nagachika バグ互換の仕様だと思えばまぁ。でも、所詮は CRuby 側が決める仕様のキャッシュなんですよね。で、CRuby の仕様はどこに書いてあるのか、例えば実装と rdoc とテストが矛盾していたとき正しいのはどれか問題とかは、実は議論しないと確定しないってのが

2012-04-20 00:59:35
nagachika @nagachika

@nalsh 「実装にはバグも完全に記述されている(キリッ」って感じですか。まあ確かに今の開発体制で仕様と実装という言葉を区別する意味はないかもしれませんね。

2012-04-20 01:06:09
成瀬 @nalsh

@nagachika 仕様変更ならブランチにバックポートされますし、バグならバックポートされるので、区別されるんですが、その基準はなんとなく議論で決まるとか

2012-04-20 01:07:42
Ayumu AIZAWA @ayumin

@nalsh @nagachika rubyspecは補完的に実行されれば良いというか第三者目線によるチェックの仕組みだとおもっています。

2012-04-20 01:11:38
nagachika @nagachika

別に rubyspec の存在価値を否定するわけではなくて、他実装が参考にしたいものとして有用なのだと思うのでそれはよいんですけど、「こう動いて欲しいなぁ」じゃないという意味でテストではないというただそれだけです。

2012-04-20 01:12:36
成瀬 @nalsh

@ayumin @nagachika って言う風に使えるといいんですけど、どうもわたし以外に CRuby との矛盾を見てる人はいない気がするのがなんとも

2012-04-20 01:13:58
nagachika @nagachika

@ayumin @nalsh そうなんですかねぇ。あまりたくさんチェックした経験はないんですけど、rubyspec がこけたから調べてみて CRuby 側の問題だってケースを体験してないような気がするんですよね

2012-04-20 01:15:26
成瀬 @nalsh

@nagachika @ayumin 感覚的に10個に1個くらいは CRuby 側かな

2012-04-20 01:16:06
Ayumu AIZAWA @ayumin

@nalsh @nagachika わたしはrubyspecでコケたのがきっかけでひとつBugチケットを起票した経験があるます。

2012-04-20 01:19:14
nagachika @nagachika

@ayumin なるほどー。やっぱりサンプル数が少ないと体験からくる印象にもムラが出ますね。

2012-04-20 01:22:56
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@nalsh @ayumin @nagachika わたしはrubyspecで品質向上してないと思ってるのでrubyspec死ね死ね派です(もう断言しちゃう)。テストはちゃんと考えて作らないと工数吸い取る蟻地獄になっちゃうんじゃよー。テストの意味を考えるのは必須なの

2012-04-20 01:25:48
vyv03354 @vyv03354

@nalsh すみません、どちらもバックポートされるならどのように区別されるのでしょうか。

2012-04-20 01:57:07
成瀬 @nalsh

@vyv03354 あ、あれ、「仕様変更はバグ変更されない」が正しいです。失礼しました

2012-04-20 01:57:58
Hiroshi Nakamura @nahi

@nagachika "「こう動いて欲しいなぁ」じゃないという意味でテストではない" に従うとtest-allも「テストではない」です。結局程度の差で、そこに問題があるとすれば、程度の差しかない(いい名前持ってるのに同じ事やってる)ことだと思います。

2012-04-20 06:47:01
nagachika @nagachika

@nahi あれはつまりtest-allがエラーになったらrubyが壊れたかtest-allが間違っているかだけど、rubyspecがエラーになったら基本的にはrubyspecを合わせるよね(なぜなら不具合込みでどう動作するかを反映しているように見える)、という意味でした。

2012-04-20 08:05:41
nagachika @nagachika

@nahi まあでもあちこちから指摘されたように実際にはその都度バグじゃないか議論するということなので、確かに程度問題ですね。

2012-04-20 08:09:04
( Φ _⊞) @n0kada

@nahi test-allは本来のテストとregressionが混じってるからねぇ

2012-04-20 08:53:21
Hiroshi Nakamura @nahi

@n0kada 本来のテスト、って仕様のテストのことですかね?いっそspecディレクトリに仕様テストを移動する?

2012-04-20 08:58:52
( Φ _⊞) @n0kada

@nahi そのほうがいいかもしれないという気もちょっとしてきた

2012-04-20 08:59:21
Hiroshi Nakamura @nahi

@n0kada specディレクトリはtest-unitのみ?mspecを許容?minitestは?

2012-04-20 09:04:45
( Φ _⊞) @n0kada

@nahi specに移動よりも逆にregressionを分離するほうがいい気がしてきた

2012-04-20 09:05:22
Hiroshi Nakamura @nahi

@n0kada 確かに。ついでに標準添付ライブラリのも分離するかー。

2012-04-20 09:06:52
成瀬 @nalsh

@n0kada @nagachika @ayumin そうですね。それだったら適当なRailsアプリのテスト走らせたほうがたぶんいい

2012-04-20 09:13:30
( Φ _⊞) @n0kada

@nalsh @nagachika @ayumin 走らせる環境を作る手間が少ないのは利点かも。SEGVするかどうかくらいしか見ないけど。

2012-04-20 09:17:24