ruby-trunk-changes 2020-01-29

今日は make test-all 時の --repeat-count オプション対応の続きや標準添付ライブラリ tmpdir が利用する乱数に専用の Random インスタンスを使うように分離する変更などがありました。

[17715153e5] Nobuyoshi Nakada 2020-01-28 13:22:29 UTC

10842daeb571126a090cb10dedf0cda8c2b7f9a8 の lib/racc/.document の追加を revert しています。効果がなかったとのこと。

[fb41246ddb] Nobuyoshi Nakada 2020-01-28 14:00:13 UTC

標準添付ライブラリ racc のヘッダ部分のコメントを rdoc に解釈されないようにマークアップ? を追加しています。

[338c5b8c1d] Tanaka Akira 2020-01-28 14:40:25 UTC

環境変数 TZ をセットした時に変更通知のためフラグをセットする処理を ruby_reset_timezone() という関数に切り出しています。

[29e31e72fb] Tanaka Akira 2020-01-28 15:01:57 UTC

338c5b8c1dc061e9f8d21f6d9f5ac053c4497383 で切り出した ruby_reset_timezone() でテストのためにうるう秒の情報をリセットする ruby_reset_leap_second_info() という関数も呼び出すようにして、r63857 (6538f67d4dccc32f1613be188a0748f0d4f90a05) あたりで追加したテストで拡張ライブラリを利用して呼ぶようにしてたのを環境変数のセットで行なうようにしています。 [ruby-dev:50642] [Bug #15177]

[7342867fc9] git 2020-01-28 15:02:33 UTC

version.h の日付更新

[7882c43fc3] Koichi Sasada 2020-01-28 15:49:53 UTC

test/ruby/test_const.rb と test/ruby/test_method.rb のテストで定数の掃除を Proc オブジェクトを単に call して行うようにして、わざわざ define_method で Proc を wrap したメソッドを経由するのをやめています。

[e7571f163b] Koichi Sasada 2020-01-28 15:50:25 UTC

これもおそらく間接的に make test-all の --repeat-count の対応のため? test/ruby/test_require.rb で Dir.tmpdir で作った一時ディレクトリが rand の返す乱数が同じ場合同じファイルパスになるのでこけるのをふせぐため $LOADED_FEATURES を復旧するようにしています。

[0cfba9cdd9] Koichi Sasada 2020-01-28 15:55:11 UTC

65768c80beb64a14c3e918f8ed5e41e9349025d0 で削除した test/ruby/test_rand.rb で srand が呼ばれてないかチェックする teardown を復活させています。あれ、なんでだろ。

[650f152d2f] Koichi Sasada 2020-01-28 15:55:27 UTC

0cfba9cdd9c18b0245b088ed5b460f0d6f90d586 で復活させた srand 呼んでないかのチェックを削除するとともに、元々このチェック入れた 4d132fa130e16eeb4af4177cfaccc00e05e2f864 自体も revert しています。なるほどこれを revert するためだったのか。テストで srand によるグローバルな状態への依存をどう考えるかという議論があるみたいで、一旦 revert ということかな。

[534536c7cc] Koichi Sasada 2020-01-28 16:26:51 UTC

test/ruby/test_exception.rb で $LOADED_FEATURES のクリーンアップ時に Tempfile オブジェクト自体を指定していてうまく消せてなかったのを修正しています。

[0ad0e63887] Benoit Daloze 2020-01-28 17:01:59 UTC

rubyspec の eval 内での __dir__ についてのテストの ruby_version_is の guard を 2.7 まで含めるように修正しています。

[fe8573f31a] Benoit Daloze 2020-01-28 17:12:24 UTC

Travis-CI の rubyspec の実行に使う ruby のバージョンを 2.4.9 に更新しています。

[766f8a7a60] Jeremy Evans 2020-01-28 17:26:02 UTC

rubyspec の通常引数が keyword splat 引数に変換される呼び出しがエラーになるというテストをしていたのを警告が出るけど自動的に変換されるという内容に変更しています。どうも 2.8 の完全キーワード引数分離後に追加されたもので間違って追加されたんじゃないかとのことです。

[6321a68582] Benoit Daloze 2020-01-28 17:37:42 UTC

Travis-CI で rubyspec の実行を 2.7.0 でも実行するジョブを追加しています。さっきのキーワード引数の spec など壊れてたのでチェックのためみたいです。

[ed377cc9aa] Benoit Daloze 2020-01-28 19:47:46 UTC

spec/mspec を upstream から更新しています。

[809f0b8a13] Benoit Daloze 2020-01-28 19:47:48 UTC

ruby/spec も upstream から更新しています。

[7d02441f0d] Alan Wu 2020-01-28 21:11:53 UTC

common.mk の依存関係を再生成しています。

[3023696505] Kazuhiro NISHIYAMA 2020-01-28 23:30:39 UTC

include/ruby/backward/cxxanyargs.hpp の Doxygen 向けコメントの typo 修正。

[98f6c74b42] Nobuyoshi Nakada 2020-01-29 01:12:35 UTC

標準添付ライブラリ tmpdir でパスを生成するのに Kernel#rand ではなく専用の Dir::Tmpname::RANDOM という Random のインスタンスを作っておいてそっちを使うようにしています。 Kernel#srand の影響を受けないようにするため。なるほど srand で同じ seed を指定すると同じパスが再現されてしまうようになってたのか。

[46173eeb64] Koichi Sasada 2020-01-29 04:07:56 UTC

これもおそらく make test-all の --repeat-count オプション対応で test/ruby/enc/test_regex_casefold.rb で定義されているユーティリティで String オブジェクトを破壊的変更する場合に dup しておくようにしています。

[7b4b01424f] Koichi Sasada 2020-01-29 05:01:00 UTC

test/ruby/test_rubyoptions.rb でわざと SEGV させるテストが環境変数 RUBY_ON_BUG が定義されていると gdb 起動されちゃうのでその時は skip するようにしています。

[d142b37bdc] Kazuhiro NISHIYAMA 2020-01-29 05:58:43 UTC

a83c46e3fd1e3480404c6dda4c4cda73533a6a1d や 838fa941f157537ebaa98150fab7664bf602f356 で net/imap の例外発生時のデバッグ出力の rescue する例外の範囲の拡大と Socket.tcp を呼び出した時の時刻やパラメーターもダンプ対象に追加するなどの追加。

[5d124a3b68] aycabta 2020-01-27 18:21:02 UTC

標準添付ライブラリ reline の Reline::ANSI で Home キーと End キーのキーコードに対応するように対応するよう修正しています。 [ruby-core:96870] [Bug #16510]