ruby-trunk-changes 2021-06-28

今日は実装のリファクタリングやテストの leak checker の実装の修正などがありました。

[3839a8fe79] Nobuyoshi Nakada 2021-06-27 12:13:37 UTC

tool/lib/minitest/unit.rb で環境変数 LEAK_CHECKER_TRACE_OBJECT_ALLOCATION がセットされているとオブジェクトの leak を ObjectSpace.trace_object_allocations を使って検出する処理が有効になるのを処理する範囲を狭めるようにしています。

[e724857f42] Nobuyoshi Nakada 2021-06-27 12:17:00 UTC

テスト中の file descriptor の leak チェックで対象の fd を lsof を使って開いてるプロセスをみせようとする時に -a と -d オプションを指定して不要な表示を抑制しています。

[47a9b58b2a] Nobuyoshi Nakada 2021-06-28 01:51:42 UTC

キーワード引数を freeze した Hash として取り出す freeze_opt() を rb_get_freeze_opt() と改名して ENV.close の実装でも利用するようにリファクタリングしています。

[ac8c674a81] git 2021-06-28 03:10:24 UTC

version.h の日付更新

[b7d01b0d1b] Nobuyoshi Nakada 2021-06-28 07:52:49 UTC

Thread の配下のクラス定義(同時にトップレベルの同名の定数にも代入する)を実施する define_thread_class() という関数で引数にC の文字列を受け取ってたのを DEFINE_CLASS() マクロを修正して呼び元で rb_intern() を呼ぶようにして ID を引数に受け取るようにリファクタリングしています。