ruby-trunk-changes r49093 - r49105

今日は Net::HTTP で HEAD メソッドのリクエストを送信する時の不具合修正などがありました。

akr: r49093 2015-01-02 00:49:50 +0900

標準添付ライブラリ time.rb で追加される Time.parse の rdoc 用コメントで Time.parse を Date.parse と書いていたところを修正しています。

svn: r49094 2015-01-02 00:50:02 +0900

version.h の日付更新。

akr: r49095 2015-01-02 09:10:04 +0900

標準添付ライブラリ resolv の Resolv::DNS::Label::Str#== の修正再び。 クラスが同一であるかもチェックするようにしています。 String を渡すと同一と判定されないようにしています。

nobu: r49096 2015-01-02 09:41:54 +0900

test/ruby/test_m17n.rb の test_scrub を複数のテストメソッドに分割しています。

nobu: r49097 2015-01-02 11:37:47 +0900

make test-all 用のユーティリティ test/lib/tracepointchecker.rb で TracePoint が必要なので TracePoint が存在する時だけクラス定義するようにしています。

nobu: r49098 2015-01-02 12:40:10 +0900

test/ruby/test_yield.rb で様々な文法の文を生成して instance_eval でチェックしているテストで全てのチェックを実行して失敗をまとめて1つのエラーとして報告するように assertion を変更しています。 初めて知ったのですが test/ruby/sentence.rb というファイルに生成規則を元にありえる組み合わせを生成するライブラリがあってそれを使ってテストケースを生成しているみたいです。すごいなこれ…。

hsbt: r49099 2015-01-02 15:10:07 +0900

openssl のテストで OpenSSL::SSL::SSLContext.new の引数に "SSLv3" が明示的に指定されていたため、SSLv3プロトコルが無効にされた OpenSSL でビルドされていた時にテストに失敗していたので、指定をやめています。 [ruby-core:63772] [Bug #10046]
チケットで提示されたパッチの2つ目の hunk のほうは Mavericks でうまく動かないということで適用されていません。

hsbt: r49100 2015-01-02 15:36:00 +0900

標準添付ライブラリ securerandom の rdoc 用コメントの文法やマークアップの修正などです。 https://github.com/ruby/ruby/pull/796

hsbt: r49101 2015-01-02 15:53:12 +0900

標準添付ライブラリ webrickWEBrick::Utils#create_listeners の未使用の省略可能引数の削除です。 このメソッドを外部から使ってる人がいなければいいですが…。一応ドキュメンテーションはされていますねこのクラス。GitHub で検索してみたら、標準添付ライブラリをまるっとコピーして同梱してるようなプロジェクトがけっこう大量にあってよくわからず…。 まあいないような気もしますが NEWS には追記したほうがいいかもしれませんね。 https://github.com/ruby/ruby/pull/356

hsbt: r49102 2015-01-02 16:21:36 +0900

test/ruby/test_module.rb のメソッドキャッシュの無効化のテストで、Module#include によるメソッド探索のツリーの変更は global method cache をクリアしなくなっているので、RubyVM.stat[:global_method_state] が変化しないこともチェック対象に追加しています。 https://github.com/ruby/ruby/pull/472 [ruby-core:59035] [Bug #9240]

akr: r49103 2015-01-02 18:49:56 +0900

起動時の ruby_setup() でシグナルの割り込みがあったりしてエラーが発生した時に表示するエラーを -d オプションで debug mode で起動した時だけ表示するようにしています。抑制できないメッセージはよくないとのこと。ふむー。しかし実際サーバプロセスを作ったりする立場からすると、タイミング依存などレアなケースで起きるうるものだからこそ debug mode にしなくても出て欲しいような気もします。しかしわざわざオプションとか環境変数できりかえるのも大仰だし、自明なメッセージしか出ないようなら別にいいか。(が、ごく稀に「おい誰だこのプロセスにシグナル送信したのは」「他社製ツールがシグナル送信誤爆してますね…」みたいなトラブルもあったりする)

hsbt: r49104 2015-01-02 21:04:53 +0900

標準添付ライブラリ net/http のテストで HEAD メソッド(HTTP のメソッド)のテストを追加しています。 failing test とありますが、多分次の r49105 で修正している問題についてのテストだろうと思われます。

hsbt: r49105 2015-01-02 21:07:04 +0900

標準添付ライブラリ net/http の Net::HTTP#send_request で HEAD メソッドのリクエスト時にはレスポンスの body は存在しないのが正常なので body がなくてもエラーにしないような HTTPGenericRequest の生成をするように修正しています。 https://github.com/ruby/ruby/pull/520