ruby-trunk-changes 2021-08-04

今日は主に標準添付ライブラリ reline の SIGINT のシグナルハンドラの挙動の修正とそれにまつわるテスト追加などがありました。

[c463a5e008] Peter Zhu 2021-08-03 20:33:34 UTC

string.c のインデント修正のみ。

[6e8bbabc2b] git 2021-08-03 20:39:21 UTC

version.h の日付更新

[1f2b3f2529] Nobuyoshi Nakada 2021-08-04 07:59:18 UTC

tool/lib/core_assertions.rb の子プロセスでテスト実行する時のメソッドで結果を pipe で返す時の文字列への式の埋め込みがエスケープされていたのを修正しています。これエラーになりそう、と思いましたが、この部分は正規表現でのマッチが失敗すれば assertion 数のカウントアップがされないだけで特にエラーにはならずに進むので気づかれてなかったみたいです。

[5bb7b57129] aycabta 2021-07-31 12:39:04 UTC

標準添付ライブラリ reline の Signal.trap でシグナルハンドラを登録する時にシグナルを文字列で指定していたのを Symbol で指定するように変更しています。

[de93b8b069] aycabta 2021-08-01 08:41:55 UTC

標準添付ライブラリ reline で Signal.trap で SIGINT に対して登録したシグナルハンドラで元々登録されてたハンドラの処理も起動した上で常に Interrupt 例外を発生させていた(これが SIGINT に対するデフォルトの挙動なので)のを、"IGNORE" や "EXIT" などの文字列で挙動が指定されていた場合に対応するようにしています。"EXIT" なんてあったっけ。

[5ca0a51ffd] aycabta 2021-08-02 14:43:05 UTC

標準添付ライブラリ readline のテストで de93b8b0697ab9554557f21d7a52a3172c5af5c3 の reline の SIGINT のシグナルハンドラの扱いについての修正に対応するテストを追加しています。

[17ef7a98ef] aycabta 2021-08-02 16:19:29 UTC

5ca0a51ffd218131f5d396f0250781cdf972779f で追加した readline のテストでテストクラスが TestReadline か TestRelineAsReadline かチェックしているところでそもそもそれぞれの定数が定義済みかチェックするようにしています。あーここでは BasetestReadline という Module として定義してて、readline と reline のテストでそれぞれテストクラスに include して使われてるので、個別の実行時などに定義されてない可能性があるわけですね。

[335c12826a] aycabta 2021-08-02 16:20:27 UTC

同じく 5ca0a51ffd218131f5d396f0250781cdf972779f で追加した readline のテストでテスト失敗時の assertion メッセージに子プロセスのログを追加しています。

[aba10ea61e] aycabta 2021-08-02 16:40:26 UTC

同じく 5ca0a51ffd218131f5d396f0250781cdf972779f で追加した readline のテストで子プロセス内での require 'test/readline/helper' を子プロセス起動時に -I オプションでロードパスを追加することで require "helper" で済むようにしています。

[6e55facdb3] aycabta 2021-08-02 17:19:55 UTC

同じく 5ca0a51ffd218131f5d396f0250781cdf972779f で追加した readline のテストを Windows 環境では omit でスキップするようにしています。