From: "U.Nakamura" Date: 2008-09-25T04:40:59+09:00 Subject: [ruby-dev:36530] Re: driver and target of test-knownbug/btest-miniruby こんにちは、なかむら(う)です。 In message "[ruby-dev:36529] Re: driver and target of test-knownbug/btest-miniruby" on Sep.25,2008 04:12:13, wrote: |  まず,以前は 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 を書き換えて適当にやりそうな気もするので,どうにでもなると | いえばなるのですが. make testで実行されるべきものは何か、と考えると、今からインス トールするつもりのrubyに対するテストなわけで、テスト対象とな るのはminirubyでなくrubyであるべきです。 これはたぶん誰もが納得するでしょう。 # で、test-knownbugもrubyがテスト対象なら拡張ライブラリのテス # トも書けるので問題ない。 runner.rbを実行するのはこの観点からはminirubyでも$(BOOTSTRAPRUBY) でもどちらでもいいのですが、一般ユーザにとって初回インストー ル前には後者は存在しないわけなので、minirubyを使うしかないで しょう。 で、btest(btest-minirubyでなく)に関しては、これは開発者が使う ターゲットであって一般ユーザが叩くことはないでしょうから、さ さださんがおっしゃるように現状のままでいいと思います。 本体にやばい変更を入れて実験中の人がmake btestする、と。 まとめると、 btest: 現状のまま btest-miniruby: ターゲットをminirubyからrubyに変更 test-sample: 現状のまま test-knownbug: runner.rb実行を$(BOOTSTRAPRUBY)からminirubyに変更 となります。 btestとbtest-minirubyの名前がねじれてるのが気になりますが、こ れは後者の名前を変えるのがいいのかなーと思います。いい案は思 いついていないですが。 これも今日中に思いつかないといけないのかなあ。 |  多分,BASERUBY に依存している現状がいや,というのがあるのですよね. 少なくともmake testが依存しちゃうのは嫌ですねえ。 それでは。 -- U.Nakamura