ruby-trunk-changes r49813 - r49828

今日は Math のモジュール関数の引数に Rational を渡した時の最適化、テストのリファクタリングなどがありました。

odaira: r49813 2015-03-03 07:53:02 +0900

String#to_sym のメモリリークをチェックするテストでメモリ増加量のしきい値AIX でのテストのために 1.65 -> 1.71 に増やしています。

nobu: r49814 2015-03-03 10:54:54 +0900

.travis.yml で OS X の時だけ test_deadlock_by_signal_at_forking というテストを除外するように test/excludes/TestProcess.rb を作成するようにしています。 調査中だそうです。

nobu: r49815 2015-03-03 11:55:53 +0900

.travis.yml で OS X 版で gdbm のために brew install gdbm を実行しておくようにしています。 また make test-all でオプションの指定に TESTS 変数ではなく TESTOPTS を使うようにしています。 あれ、自分 make test-all TESTS="-j4" とか使ってるんですけど TESTOPTS のほうがいいんですかね。 TESTS でも効いてはいるみたいですが…。

nobu: r49816 2015-03-03 12:16:32 +0900

r49815 で TravisCI で gdbm をインストールするようにしたのに GDBM_FLAG を configure に渡し忘れてたので、OPENSSL_FLAG と統合して CONFIG_FLAG という変数に --with-xxx-dir を設定するようにして、configure に $CONFIG_FLAG を渡すようにしています。

nobu: r49817 2015-03-03 14:20:22 +0900

test/ruby/test_rubyoptions.rb の 子プロセスをわざと SEGV させるテスト test_segv_loaded_features で定義してあるユーティリティメソッド assert_segv を利用するようにリファクタリングしています。

gogotanaka: r49818 2015-03-03 14:59:28 +0900

Math の各メソッドで引数の数値を double に変換する時 Fixnum や Bignum と同様にに Rational も直接変換するショートカットを追加して最適化しています。 [ruby-core:68325] [Feature #10909]

gogotanaka: r49819 2015-03-03 14:59:40 +0900

r49818 の変更に関して Math.cos や Math.log、Math.exp などに Rational を渡すテストケースを追加しています。

usa: r49820 2015-03-03 16:55:57 +0900

tool/redmine-backporter.rb に、プロンプトに現在選択中のチケット番号を表示する機能を追加しています。

usa: r49821 2015-03-03 16:58:39 +0900

tool/redmine-backporter.rb のコマンドで merger.rb に渡すオプションを表示するショートカットを s から b に変更しています。ふむ?

nobu: r49822 2015-03-03 17:17:51 +0900

test/ruby/test_process.rb の test_status_quit を EnvUtil の assert_in_out_err を利用してシンプルに書き直しています。

nobu: r49823 2015-03-03 17:19:39 +0900

EnvUtil.assert_in_out_err で stdout と stderr からの出力の期待値を指定する引数に複数の Regexp を渡せるように、String や Regexp でなかった時は assert_pattern_list でチェックするようにしています。

nobu: r49824 2015-03-03 17:19:43 +0900

r49823 で追加した EnvUtil.assert_in_out_err の出力チェックの機能を使って assert_segv や test_bug_reporter_add でチェックをシンプルに書き直しています。

naruse: r49826 2015-03-03 17:55:52 +0900

tool/merger.rb に teenyup というサブコマンドを追加して version.h の TEENY をインクリメントする処理を自動化しています。おおなるほど、便利。まあこれが関係あるのは世界で3人くらいだと思いますが…。

naruse: r49827 2015-03-03 17:55:59 +0900

tool/merger.rb から 1.9.2 ブランチのサポートのための処理を削っています。

usa: r49828 2015-03-03 22:26:40 +0900

EnvUtil.invoke_ruby で Signal.signame で例外が発生し得るので rescue するようにしています。r49801 で数値の場合は不正なシグナル番号は例外じゃなくて nil を返すようになりましたが、不正なシグナル名やシンボルの場合はそのまま Signal.signame に渡されてるので型変換失敗で例外になるんですね。