ruby-trunk-changes r45306 - r45317

今日は ObjectSpace.dump の不具合修正、FreeBSD での rb_bug() 時のメモリマップ出力対応、テストの修正などがありました。

naruse: r45306 2014-03-11 02:10:57 +0900

vm_dump.c に FreeBSD から procstat_vm() という関数の実装を拝借してきて、rb_bug() などでのプロセスのメモリマップ出力に FreeBSD で対応しています。 http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780

svn: r45307 2014-03-11 02:11:01 +0900

version.h の日付更新。

charliesome: r45308 2014-03-11 06:55:51 +0900

拡張ライブラリ objspace の ObjectSpace.dump で出力先のファイルの FILE 構造体が NULL の時にチェックなしで触っていたところがあったのを修正しています。 https://github.com/ruby/ruby/pull/562

naruse: r45309 2014-03-11 10:02:34 +0900

r45306 の FreeBSD でのメモリマップ出力のために FreeBSD で configure で procstat_open_sysctl() の存在チェックを行うようにしています。

naruse: r45310 2014-03-11 10:18:45 +0900

r45309 での configure.in の文法エラーを修正しています。

naruse: r45311 2014-03-11 10:25:20 +0900

r45298 のテストユーティリティの変更で子プロセスのグローバル変数 $initial_size にサイズでなく Memory::Status のインスタンスが入っていた不具合を修正しています。

nobu: r45312 2014-03-11 10:55:15 +0900

README.EXT と README.EXT.ja の ruby_options() と ruby_run() の説明の追加や関数名、シグネチャの修正です。 [ruby-dev:48030] [Bug #9619]

usa: r45313 2014-03-11 13:22:34 +0900

テストスクリプトでメソッド引数に明示的なかっこをつけるなどの警告除去をしています。 未使用のローカル変数 bug8593 はこれを assert のメッセージに入れるためにあるんだろうと思いますが、mkmf のテストでは生成された mkmf.log をメッセージに入れるようにしているので使われていないのでした。ううむ。

nobu: r45314 2014-03-11 14:16:04 +0900

テストのユーティリティ test/ruby/envutil.rb の assert_no_memory_leak で r45298 で追加した RSS の増減も比較するようにしたのをデフォルトでは行わないようにしています。 rss キーワード引数に真が渡された時だけ比較するようにしています。 r45299 で追加している dl と fiddle のメモリリークのテストでは rss: true を渡すようにしています。

nobu: r45315 2014-03-11 14:16:06 +0900

test/ruby/test_hash.rb の Hash のテストは Hash を継承したクラスについてもテストを行なっているのですが test_exception_in_rehash は継承したクラスを利用していないのでその時はテストを飛ばして重複したテストを実行しないようにしています。またこのテストは assert_no_memory_leak でメモリリークをチェックしているのですが、Hash 1つとそのキーのオブジェクトぶんは必ず増えるようになっていたので、残るオブジェクトは prepare 側であらかじめ作っておくようにしています。

ktsj: r45316 2014-03-11 22:23:43 +0900

ObjectSpace.dump のテストにさらっと JSON.load が利用されていたのですが(明示的に require "json" されてない…)、json に依存しないように assertion を書き換えています。

ktsj: r45317 2014-03-11 22:33:31 +0900

拡張ライブラリの rdoc 対象ファイルリストの ext/.document に ext/objspace/objspace_dump.c を追加しています。