ruby-trunk-changes r29576 - r29583

ruby-dev や ruby-core のアーカイブホスティングしている blade が障害中のため ML へのリンクは現在つながりません。ruby-trunk-changes でも blade にはお世話になっております。今日のコミットにはわたしが ruby-core を購読する前のメールが元になっているものもあったので元ネタを辿れなかったものもあります。

nobu:r29576 2010-10-24 00:25:20 +0900

r29556 で SEGV 時のメッセージが変更になったのにあわせて SEGV した時のテストのチェックを変更しています。
昨日 make test-all 通ったと思うんですが、Linux の時のメッセージのぶんが問題だったのかもしれません。

tenderlove:r29577 2010-10-24 12:11:20 +0900

test/unit.rb が rake_test_loader.rb と一緒に使うと2度テストクラスを定義してしまうのを修正。[Bug #3972]

nobu:r29578 2010-10-24 14:11:26 +0900

モジュールで private の attr_accessor などが定義されて、それを extend したクラスで attr_accessor を定義する(再定義する)と、それが private になってしまうという現象を修正。このテストはしばらく Skip にされていたものですね。この挙動ははたしてバグなのか?という議論があったみたいですが、というか議論があったのかどうかも実はよくわかりませんが、バグだったということで修正する方向になったようです。今は継承したクラスで attr_accessor すれば親クラスやモジュールで private でもそのクラスではデフォルトは public です。

nobu:r29579 2010-10-24 14:13:55 +0900

test/unit.rb の修正。出力先のオブジェクトの sync モードを復旧するように。

nobu:r29580 2010-10-24 14:18:12 +0900

test/unit.rb の修正もうひとつ。 Interrupt で(コマンドラインからの Ctrl-C などによる SIGINT)テストが中断した時にも途中結果を表示するように。

nobu:r29581 2010-10-24 15:16:36 +0900

test/unit.rb さらに修正。Interrupted で抜けてきた時には Kernel#abort を呼んでプロセスを強制終了するように。

nobu:r29582 2010-10-24 17:05:55 +0900

オブジェクトが freeze されているかチェックする rb_check_frozen をマクロで定義してインライン展開されるように最適化しています。

nobu:r29583 2010-10-24 17:14:05 +0900

rb_check_frozen を各所で使うように修正。

なお現在 make test-all すると

1) Failure:
test_rotate!(TestArray) [/Users/nagachika/opt/ruby-trunk/src/ruby-trunk/test/ruby/test_array.rb:2158]:
Expected /can't modify frozen array/ to match "can't modify frozen Array".

と 1 Failure するようになってますね。メッセージが変化しただけのようですけど。