ささだです.

U.Nakamura wrote:
> common.mkにあるtest-knownbugで、bootstraptest/runner.rbを
> $(BOOTSTRAPRUBY)で実行しているのには深い意味があるのでしょう
> か?
> btest-minirubyでは$(MINIRUBY)を使っているわけですが、この二
> つで書き分けている理由はなんでしょう?
> 
> あと、test-knownbugとbtest-minirubyでは、実際にテストを実行す
> るのがminirubyであるかrubyという違いもあって、これも気になり
> ます。
> minirubyをテストしても仕方ないような気がするのですが...
> 
> 両方とも、runner.rbを実行するのはminiruby、テストを実行するの
> はruby、とするのがいいのではないでしょうか?

 このあたりを整理されたのは,多分中田さんだと思うので,btest を最初
に追加した人として,以前の経緯と意見を.

 まず,以前は btest/runner.rb を実行するのは $(BASERUBY),つまりビ
ルド中のものではない,他でインストールした Ruby でした(多分,ちゃん
と動くことを期待).そして,各テストを実行するのは $(MINIRUBY) でした.

 これは,処理系について何かハックしていて,miniruby で
btest/runnner.rb を実行することすら出来なくなったとき,primitive な
テストを回して問題点を発見するためにこのようにしていました.

 しかし,btest のフレームワークで KNOWNBUGS.rb を実行するようになっ
たとき(SEGV に関しては,これが都合がよかった),拡張ライブラリの既
知の問題もここに書くようになっていって,それならばと KNOWNBUGS.rb は
$(RUNRUBY),つまり ruby + 拡張ライブラリのパスを加えて実行,というこ
とになったのかと思います.

 ただ,だいぶ安定してきた昨今(安定しないと困る)では,上記のような
ことを考慮する必要もなくなったかと思うので,うささんのご提案の修正に
だいたい賛成いたします.

 ただ,btest は miniruby をテストするためのもの,と考えると
miniruby のままにしてもらえるとうれしい気もいたします.実装実験など
で,ドラスティックな変更を行ったとき,miniruby が壊れて ruby がビル
ド出来なくなっても,壊れた miniruby に対して btest は実行できる,と
いう状況だとうれしい,という意味です.まぁ,そういう状況だと
common.mk を書き換えて適当にやりそうな気もするので,どうにでもなると
いえばなるのですが.

# miniruby のほうが,起動が速そうと考える貧乏性,
# というのもあるのですが

 多分,BASERUBY に依存している現状がいや,というのがあるのですよね.

-- 
// SASADA Koichi at atdot dot net