ruby-trunk-changes r57552 - r57564

今日はテスト時の統計情報の表示機能追加や strscan の default gem 化などがありました。

nobu: r57552 2017-02-07 11:49:02 +0900

r57546 で tool/rbinstall.rb 内で Gem::Installer#install を呼び出す前後で File.umask を変更するようにしていましたが、Gem::Installer#install を再定義していたところで File.umask 変更するようにしています。

svn: r57553 2017-02-07 11:49:03 +0900

version.h の日付更新。

nobu: r57554 2017-02-07 11:49:04 +0900

test/lib/test/unit.rb に Test::Unit::Statistics というモジュールを導入して --longest というオプションを指定したらテストケースのうち最も時間のかかったもの上位 N 件を表示するようにしています。

nobu: r57555 2017-02-07 12:55:47 +0900

r57554 で導入した最も時間のかかったテストケースの保存を並列テスト時のプロトコルでも対応するようにしています。

nobu: r57556 2017-02-07 12:58:07 +0900

r57554 の Test::Unit::Statistics#record でインスタンス変数 @longest へのアクセス時に defined? でのチェックをするようにしています。未初期化の警告避けですかね。

ko1: r57557 2017-02-07 13:14:25 +0900

vm_core.h の vm_block_handler_verify() で vm_block_handler_type() の結果を 0 と比較しているのがコンパイラの警告になることがあるので、関数の返り値は捨てるようにしています。 vm_block_handler_type() はその内部にさらに VM_ASSERT() を持っているので呼ぶだけでいいようです。 block_handler == VM_BLOCK_HANDLER_NONE で分岐して vm_block_handler_type() 呼ぶだけでもいいような気が…。[追記]と思ったけど VM_ASSERT() は通常のビルドでは消えるので、その引数内に分岐を押し込めておくほうが良いのでした。[/追記]

ko1: r57558 2017-02-07 13:24:44 +0900

r57557 で vm_block_handler_type() の値を捨てた時のかわりの値を TRUE にしていましたがこの位置では未定義だったので 1 に変えています。

nobu: r57559 2017-02-07 14:19:29 +0900

r57554 でテストに導入した Test::Unit::Statistics にさらに --most-asserted というオプションを追加して assertion の数の多い順に記録したものも表示できるようにしています。

hsbt: r57560 2017-02-07 16:14:21 +0900

拡張ライブラリ strscan を default gem 化すべく .gemspec ファイルを追加しています。

hsbt: r57561 2017-02-07 16:14:22 +0900

これまで .gemspec ファイルを追加してきた date, zlib, cmath, csv, fileutils, webrick の required_ruby_version を ">= 2.5.0dev" に修正しています。require_ruby_version での判定って 2.5.0 > 2.5.0dev なんでしょうか(つまり trunk だとだめだったのを trunk でも 2.5.0 (がリリースされたらその時は) でもいいようにしている?)。

nobu: r57562 2017-02-07 17:09:23 +0900

test/testunit/test_parallel.rb の test/unit の並列テスト自体のテストで結果出力 assertion を修正しています。

nobu: r57563 2017-02-07 17:16:50 +0900

test/unit の並列テストで r57514 あたりで MAKEFLAGS から --jobserver-auth を抜き出して fd を利用していましたが、古い GNU make では --jobserver-fds というオプションが使われるそうなので両方対応するようにしています。

kazu: r57564 2017-02-07 21:49:57 +0900

拡張ライブラリ zlib とそのテストの ruby スクリプトの magic comment frozen_string_literal を true に変更しています。