ruby-trunk-changes r47679 - r47686

今日はいくつかテストの修正と、久しぶりに RB_GC_GUARD() の追加がありました。

normal: r47679 2014-09-22 09:46:25 +0900

拡張ライブラリ socket の struct sendmsg_args_struct、struct recvmsg_args_struct、struct connect_arg、struct getnameinfo_arg のメンバの順番の入れ換えで構造体サイズを小さくしています。

akr: r47680 2014-09-22 12:12:23 +0900

Fedoraタイムゾーン情報として tzdata-2014g パッケージを入れるとテストが失敗する対策として、テストメソッド生成メソッドを別途増やしています。何が問題だったのかまでは読んでいません。 [ruby-core:65058] [Bug #10245]

nobu: r47681 2014-09-22 13:44:19 +0900

標準添付ライブラリ tmpdir の Dir::Tmpname#make_tmpname で prefix と suffix が String オブジェクトじゃない時に変換する処理を追加しています。

nobu: r47682 2014-09-22 16:38:33 +0900

r47668 で Thread のテストに同期用に Queue を追加したのを利用できるように require "thread" を追加しています。

nobu: r47683 2014-09-22 17:17:24 +0900

rb_ary_splice() の最後に RB_GC_GUARD() を追加しています。引数の rpl ですが途中で rb_ary_to_ary() で変換する時に一時オブジェクトが格納される可能性があるので、その中身のバッファを操作する間オブジェクトが解放されないようにしないといけません。 [Bug #10281]

hsbt: r47684 2014-09-22 18:21:39 +0900

.travis.yml で Travis CI では OS X のテスト結果のみエラーを検出するようにしています。 Linux のビルドはたまに失敗するのでノイズになっているのと、Linux は RubyCI で chkbuild を使ったテスト環境がいくつかあるので TravisCI は OS X 専用としています。

zzak: r47685 2014-09-22 19:50:52 +0900

doc/syntax/methods.rdoc に []= のような aset 型のメソッド定義についての説明を追記しています。 https://github.com/ruby/ruby/pull/662

suke: r47686 2014-09-22 20:01:22 +0900

拡張ライブラリ win32ole の WIN23OLE_VARIANT と Time の変換のテストでチェック方法を assert_in_delta を使ったものにして、さらにテストパターンをいくつか追加しています。 Time の 999999999 ナノ秒を持つものを VT_DATE に変換すると失敗していたそうで。はい、これもよくわかりません。多分変換で精度が落ちるからでしょう…。