ruby-trunk-changes r44211 - r44224

今日は RDoc の小さな更新と ObjectSpace.reachable_object_from_root の修正の他テストの修正が主でした。

a_matsuda:r44211 2013-12-15 03:26:59 +0900

標準添付ライブラリ shellwords.rb の Shellwords.escape の rdoc 用コメントの typo 修正。 https://github.com/ruby/ruby/pull/483

svn:r44212 2013-12-15 03:27:04 +0900

version.h の日付更新。

drbrain:r44213 2013-12-15 05:28:45 +0900

RubyGems の更新。 メソッド呼び出しと同じ内容の式をメソッドに置き換えるリファクタリングだけです。

nobu:r44214 2013-12-15 05:46:44 +0900

Fiber のテストのユーティリティメソッド TestFiber#invoke_rec で子プロセスの起動を一時ディレクトリで実行するようにしています。 マシンスタックオーバフローを起こした時の core dump ファイルを削除するためだそうです。

nobu:r44215 2013-12-15 07:03:19 +0900

Thread#priority のテストで assert_send のかわりに assert_operator で比較を行なうようにしています。

nobu:r44216 2013-12-15 07:03:24 +0900

主に Thread のテストで sleep を使ってタイミング依存の状態を作っているものを Thread.pass と Thread#status や変数の状態をチェックするなどしてより確実に、短時間でテストできるようにリファクタリングしています。また大きなテストメソッドを複数に分解したりしています。

drbrain:r44217 2013-12-15 07:09:35 +0900

RDoc の最新版への更新。バージョンを 4.1.0.rc.1 にしています。 Webサーバとして起動した時の検索フォームの挙動を修正しているようです。

nobu:r44218 2013-12-15 07:34:43 +0900

Process のテスト test/ruby/test_process.rb でも sleep を使ってタイミングをはかっているテストを pipe を使って確実に協調して動くようにリファクタリングしています。

nobu:r44219 2013-12-15 07:34:47 +0900

test-all 用のユーティリティ test/ruby/envutil.rb の EnvUtil.diagnostic_reports で Mac OS X の rb_bug() などが発生した時の C のバックトレースを diagnostic report ファイルから取得するためにファイル生成を待つところをより小刻みにチェックしてできるだけ早く処理できるようにしています。

drbrain:r44220 2013-12-15 09:51:37 +0900

r44213 の RubyGems の更新を revert しています。単にメソッド呼び出しにしただけのように思えますが bundler から使った時に SystemStackError が発生していたそうです。 RubyGems だけみると大丈夫そうに見えますけど Bundler で Gem のメソッドを書き換えたりしてるんでしょうかね。

a_matsuda:r44221 2013-12-15 11:09:41 +0900

標準添付ライブラリ shell/filter.rb の rdoc 用コメントの typo 修正。 exection → execution

ko1:r44222 2013-12-15 13:42:23 +0900

拡張ライブラリ objspace の ObjectSpace.reachable_object_from_root でオブジェクトを辿る時にこのメソッドで返すためのオブジェクト自身は除外するようにしています。 mswin64 でこれが問題になっているそうで、メソッド呼び出し時点の ObjectSpace を取得するようにしてそれ以降作られたオブジェクトについての情報は返さないようにすることにしています。

nobu:r44223 2013-12-15 16:41:59 +0900

r44200 で追加した Dir[] のテストで File.symlink を呼んでいるところが Windows など symlink が使えないプラットフォームでエラーになっていたので NotImplementedError を検出して assertion をスキップするようにしています。

nobu:r44224 2013-12-15 18:25:05 +0900

r44203 で Logger の log rotate 時の挙動を修正した時に追加したテストが Windows で動かないため mswin および mingw ではテスト実行しないように分岐を追加しています。