ruby-trunk-changes r60003 - r60012

今日は lib/ubygems.rb の削除や exe/ruby のビルド時のルールの bundler テスト対応などがありました。

mame: r60003 2017-09-24 08:58:24 +0900

coverage のテストで assert_coverage という専用の assertion を追加してこれを利用するようにしています。

svn: r60004 2017-09-24 08:58:25 +0900

version.h の日付更新。

nobu: r60005 2017-09-24 09:15:02 +0900

make exe/ruby のコマンドにビルドしたファイル名が ruby でなかった時に ruby から symbolic link をはるようにしています。--suffix なんかをつけてた時に実行形式ファイル名も変わる(たぶん exe/ruby も変わるのでしょう)けど bundler のテストで ruby 決め打ちになっているところがあるのでそのテスト用だそうです。

nobu: r60006 2017-09-24 10:48:25 +0900

ruby-runner.c で(exe/ruby で) load path を環境変数 RUBYLIB にセットしておくようにしています。

nobu: r60007 2017-09-24 14:22:23 +0900

r59155 の大域脱出のための tag の型変更で C API rb_load_protect() でファイルロードする時の条件判定が反転していたのを修正しています。なぜこんな結構重大な不具合が見過されてたんだろう、と思ったら rb_load_protect() は ruby のコアでは利用されてなくて、サードパーティーの拡張ライブラリでしか踏まないものだったようです。

hsbt: r60008 2017-09-24 16:52:25 +0900

1.9 以降通常のビルドでは rubygems はデフォルトで組み込みになっていて明示的な require は不要なので、-rubygems と書けるように用意してあった lib/ubygems.rb はもういらないだろうってことで削除しています。

hsbt: r60009 2017-09-24 17:10:08 +0900

r60008 で削除した lib/ubygems.rb について NEWS ファイルに追記しています。

nobu: r60010 2017-09-24 18:35:09 +0900

r60008 の lib/ubygems.rb の削除に伴ない rubygems のテストでバージョンによって分岐していたところを常に -rrubygems を付けるように共通化しています。

nobu: r60011 2017-09-24 18:44:26 +0900

GC.stat のテストで確率的に失敗するものがあったようなので条件を緩めています。

nobu: r60012 2017-09-24 19:07:21 +0900

r60005 での make exe/ruby でファイル名が ruby じゃない時に symbolic link をはるようにした変更の続きで、symbolic link を作る処理を miniruby を利用するようにしています。 まず既存のファイルを unlink してから File.symlink をするようにもしていますが、exe/ruby 自身を使うのだと機能が足りないのかな?