ruby-trunk-changes r30195 - r30209

今日は主にテストの修正、特にファイルの close 漏れの修正が多かったです。その関係で Zlib::GZipReader/GZipWriter の open 時のエラーでファイル閉じ忘れているバグも修正されています。

usa:r30195 2010-12-14 10:30:41 +0900

r30178 で変数宣言がブロック先頭でないところに書かれてしまっていたので修正。

svn:r30196 2010-12-14 10:30:43 +0900

version.h の日付更新。

naruse:r30197 2010-12-14 11:33:04 +0900

gcc の時のオプションに -Werror=declaration-after-statement を加えています。おそらく r30196 で修正したような変数の宣言位置に問題があったら警告を出力するようにしています。

naruse:r30198 2010-12-14 11:33:07 +0900

minitest のテスト所要時間の表示をテスト終了後にテスト名と一緒に表示していたのを、実行前にテスト名だけ表示して終了後に所要時間を表示するように変更。今どのテストケースを実行中かわかるように。

usa:r30199 2010-12-14 11:34:46 +0900

test_argf.rb で一時ファイルを利用しているところでちゃんんとファイルを閉じるように。Windows などの環境では Tempfile は終了時(GC時?)にファイルが削除されないらしいです。[追記]Tempfile が悪いわけではなくて、Windows で open したままのファイルを削除できない、ということでした。[/追記]

naruse:r30200 2010-12-14 11:42:40 +0900

r30198 で余分な String#% の呼び出しが残っていたのを削除。

usa:r30201 2010-12-14 12:57:26 +0900

zlib のテストで一時 GZipReader を開きっぱなしで閉じていないところをブロックつきのメソッドを使ってちゃんと後始末するようにしています。また Tempfile.new に渡す prefix をテストケース毎に変えるようにしています。

naruse:r30202 2010-12-14 13:05:03 +0900

Net::HTTPRequest#send_request_body_data で開いている Tempfile にたいして binmode を呼び出すようにしています。Windowsでの改行コードの変換を抑制、でしたっけ。

usa:r30203 2010-12-14 13:36:14 +0900

Zlib::GZipReader.open や Zlib::GZipWriter.open では引数のファイルを開いてからそれを wrap したオブジェクトを返しているので、initialize で例外が発生した時にファイルを閉じていなかったのを修正。

usa:r30204 2010-12-14 13:54:20 +0900

test_io.rb でエラーが発生した時にTempfileをファイルパスを生成するためだけに作ったのに元のファイルを閉じていなかったのを修正。

usa:r30205 2010-12-14 14:26:34 +0900

test_io.rb でエラーが発生した時にTempfileにわたすprefixが"foo"という適当すぎたので"test_io"に変更。またTempfileに二重にcloseを呼んでいるところを修正。Tempfileはなんどもcloseしても例外を発生させないんですね。
どうでもいいんですけど ChangeLog のエントリの "the old one" は「旧支配者」とひっかけてるんだろうかというしょうもないことが気になってしかたありません。

usa:r30206 2010-12-14 15:06:18 +0900

IO#reopen のテストで reopen の元になったファイルも閉じないといけないのをちゃんと閉じるように。

usa:r30207 2010-12-14 18:19:55 +0900

make help で表示されるメッセージを修正。

usa:r30208 2010-12-14 18:32:36 +0900

Test::Unit のオプションの説明が書いていないものに説明文を追加(-x, -I, --[no-]gc-stress)。

akr:r30209 2010-12-14 20:32:59 +0900

gc.c の関数マクロの引数の利用にかっこをつける修正です。