今日も readline のテストの修正続きと String#strip! などの不具合修正などがありました。
[7de7e9fdb7] Nobuyoshi Nakada 2021-08-10 13:06:05 UTC
8df1ace64a7695c855bf0a774e3fd70edfab0bf3 で追加された ARGF.read のテストでファイル毎に異なる内容を書き出して読み込まれた順序もチェックするようにしています。 [ruby-core:104855] [Bug #18074]
[c3964a313e] Nobuyoshi Nakada 2021-08-10 13:06:43 UTC
8df1ace64a7695c855bf0a774e3fd70edfab0bf3 で追加された ARGF.read のテストに ARGV.class.new で新たに作ったインスタンスのテストも追加しています。 [ruby-core:104855] [Bug #18074]
[7560bf6f47] git 2021-08-11 01:54:56 UTC
version.h の日付更新
[a0a8f2abf5] Nobuyoshi Nakada 2021-08-05 11:09:25 UTC
rb_id_table_lookup() の引数に &演算子(ポインタ演算子っていうのかな)の結果を (VALUE *)にキャストして渡していたところをちゃんと VALUE 型の変数を使って結果をキャストして取り出すように修正しています。環境によっては SEGV することがあったようです。 [ruby-core:104780] [Bug #18062]
[84bf4d2ce5] Jeremy Evans 2021-08-10 21:19:33 UTC
String#strip!, #{lr}strip! メソッドの実装で、文字列オブジェクトのバッファの共有を文字列の途中でも可能にする(文字列オブジェクトの末尾が NUL 文字で終端していない場合を許容する) SHARABLE_MIDDLE_SUBSTRING マクロを定義してビルドした時に終端文字を埋める処理を削るようにしてましたが、これらのメソッドでは str_modify_keep_cr() を呼び出していて共有解除するようになってたのでバッファの内容を変更しても問題ないので preprocessor による分岐を消しています。 [ruby-dev:49704] [Bug #12540]
[7319b1fa2c] aycabta 2021-08-09 21:51:32 UTC
readline のシグナルハンドラのテストの子プロセスのログに開始時点のログを追加しています。デバッグのためでしょうね。
[7b10f55354] aycabta 2021-08-09 21:54:08 UTC
同じく readline のシグナルハンドラのテストで assert false の後に break 文を追加しています。 assert で大域脱出すると思うのでここには行かないと思いますがまあこれもデバッグのためでしょうね。
[67e06102a3] aycabta 2021-08-09 21:54:32 UTC
readline のシグナルハンドラのテストで IO からの読み込みのループを while で書いてたのを Kernel#loop で無限ループするようにしています。うーんけどこれだと IO#read が nil を返した時の break がないので期待した文字列がみつからなかった時に無限ループしそうですね。
[7d84251500] aycabta 2021-08-11 05:02:28 UTC
readline のシグナルハンドラのテストで書きこみの都度 IO#flush を呼んでたのを IO#sync= で true をセットしておくようにしています。
[2217b82af1] aycabta 2021-08-11 05:03:55 UTC
readline のシグナルハンドラのテストで pipe への書き込みで Errno::EPIPE が発生した時のログを追加しています。
[01e49af81d] aycabta 2021-08-11 05:05:17 UTC
readline のシグナルハンドラのテストで Kernel#exit! を使ってたのを削除しています。ですよねー。
[4f324514aa] aycabta 2021-08-11 05:07:28 UTC
readline のシグナルハンドラのテストで assert false で常に落としてたところを子プロセスからのメッセージによって期待した出力があったら成功にするようにしています。なるほどここを assert false にしてたのは一時的なデバッグのための対応だったのかな。
[c59da370a5] aycabta 2021-08-11 05:08:39 UTC
readline のシグナルハンドラのテストで子プロセスで実行するスクリプトに実行順のコメントを追加しています。
[c06b39d1d1] aycabta 2021-08-11 08:45:31 UTC
readline のシグナルハンドラのテストメソッドに通らない環境向けの対応について TODO コメントを残しています。