ruby-trunk-changes r46124 - r46143

今日はテストの Thread と Tempfile の後始末強化が主な変更でしたが、標準添付ライブラリ optparse のファイル名とクラス名の別名の追加もありました。

akr: r46124 2014-05-26 08:00:04 +0900

テストの前後で終了した Thread の表示も1行ずつ表示するようにしています。

nobu: r46125 2014-05-26 11:58:15 +0900

r46123 での CSV.new の第1引数の仕様変更に追随してテストを修正しています。 依存しているテストがあったのかー。 https://github.com/ruby/ruby/pull/580

nobu: r46126 2014-05-26 12:25:38 +0900

標準添付ライブラリ optparse の OptionParser の別名 OptParser を定義して、ファイルは optionparser.rb というファイル(内容は optparse を require するだけ)を追加しています。 [ruby-core:62751] [Feature #9864]

nobu: r46127 2014-05-26 12:42:27 +0900

minitest 自体のテストで Windows で開いたままのファイルが削除できないため一時ファイルの削除に失敗していたのを Tempfile#close! を使うことで後始末できるようにしています。

nobu: r46128 2014-05-26 13:03:52 +0900

win32/Makefile.sub に enc/jis/props.h のコピーを行うルールを追加しています。 nmake 対応みたいです。

nobu: r46129 2014-05-26 13:35:17 +0900

拡張ライブラリ pty の PTY.spawn で子プロセスの終了待ちをするスレッドを生成する前に子プロセスが終了していないか WNOHANG フラグつきで rb_waitpid() でチェックして、既に終了済みだったらスレッド生成を抑制するようにしています。これもテストでの Thread leak 検出対応でしょうか。

nobu: r46130 2014-05-26 14:01:33 +0900

Queue と Sync_m のテストで Thread の後始末が不完全だったのを修正しています。

nobu: r46131 2014-05-26 14:13:40 +0900

Ruby 本体のテストの Thread 後始末の修正。

nobu: r46132 2014-05-26 14:38:10 +0900

test/ruby/test_backtrace.rb でもうひとつ Thread の後始末の修正。

nobu: r46133 2014-05-26 14:38:12 +0900

net/http のテストでの Thread 後始末の修正。

nobu: r46134 2014-05-26 14:38:24 +0900

net/imap のテストでの Thread の後始末をするようにする修正。

nobu: r46135 2014-05-26 16:00:02 +0900

Thread#inspect で表示するクラス名の埋め込みに PRIsVALUE を使うことでエンコーディングを保持するようにしています。

usa: r46136 2014-05-26 16:34:50 +0900

File::Stat#birthtime の導入時に追加した File::Stat のテストで atime のチェックを Windows 環境では skip するようにしています。 Windows では(というか NTFS では?) atime の更新に遅延(1時間)があるそうです。ほー、性能のため? それにしては大きめの delay ですね。 参考URL: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx

nobu: r46137 2014-05-26 16:38:57 +0900

Thread#inspect にデフォルトで Thread.start などに渡されたブロックの定義位置のファイル名と行番号を含めるようにしています。 あー昔こういうの自前で作ってたわー。組み込みになるととても便利ですね。

nobu: r46138 2014-05-26 17:04:02 +0900

標準添付ライブラリ monitor のテストの Thread の後始末修正。

nobu: r46139 2014-05-26 17:40:37 +0900

標準添付ライブラリ rinda のテストでも Thread の後始末をするように修正していますが、これで CI がエラーになっているようです。

nobu: r46140 2014-05-26 21:59:18 +0900

r46139 の rinda のテストの後始末の修正のうち test_take_bug_8215 のぶんは revert しています。 DRb::DRbServer#stop_service を呼んでしまうと drb のテストに影響するみたいです。

kazu: r46141 2014-05-26 22:17:16 +0900

r46089 と r46106 の ChangeLog エントリの typo 修正。

nobu: r46142 2014-05-26 22:33:01 +0900

rdoc のテストで Tempfile の明示的な削除を行うようにしています。

nobu: r46143 2014-05-26 22:33:06 +0900

同じく rdoc のテストでブロックつきの Tempfile.open を使っていたため Tempfile が残っていたのを Tempfile.create を使うように修正して一時ファイルが削除されるようにしています。