ruby-trunk-changes 2020-02-07

今日は rubygems の更新や assert_separately の変更の追随などがありました。

[32adae431d] Nobuyoshi Nakada 2020-02-06 06:40:34 UTC

rubyspec の Mutex#sleep のテストで戻り値をチェックしてたのをやめて例外が発生しないことだけチェックするようにしています。なんかここ変更を入れたいみたいな話をみかけたのでその下準備かも。

[739fdb7ff0] Nobuyoshi Nakada 2020-02-06 06:42:01 UTC

同様に rubyspec の ConditionVariable のテストでメソッドの戻り値について rdoc で明言されていないものはチェックをやめています。

[f1c230f18b] Nobuyoshi Nakada 2020-02-06 11:52:25 UTC

テスト用ユーティリティ assert_separately の pipe 利用時の assertion 数のカウントも pipe 経由のオブジェクトを利用するようにまとめています。

[5fac54a594] Nobuyoshi Nakada 2020-02-06 11:53:11 UTC

同じく assert_separately において子プロセスに pipe を渡す場合 EnvUtil.invoke_ruby の capture_stdout に false を渡して子プロセスの stdout に MiniTest::Unit.output を渡すようにしています。並列テスト時の出力をまとめるため。

[e323f50a9c] aycabta 2020-02-06 12:19:44 UTC

tool/sync_default_gems.rb の readline の同期用処理を sync_lib を使わず独自の cp_r でのコピーを行うようにしています。

[054d99d95b] David Rodríguez 2020-02-03 17:48:44 UTC

rubygems の push サブコマンドで gem コマンド自体のバージョンが pre つきとかだと gem push が動かないようにしていたのをやめています。そんな制限があったのか。

[c6b5881eae] David Rodríguez 2020-02-04 16:25:56 UTC

rubygems のテストのユーティリティ用メソッド定義のセクションの前に private を置いて private メソッドとして定義するようにしています。

[d767da428c] David Rodríguez 2020-02-04 16:26:28 UTC

rubygems の require の再定義しているところで拡張子の優先順位と $LOADED_PATH の順序との関係が間違ってた(拡張子のほうを先に固定してた)のを修正しています。

[bd0a02d143] Hiroshi SHIBATA 2020-02-06 12:54:23 UTC

rubygems の更新時に gem query サブコマンドの多くのオプションが削除されてたのを revert しています。

[8c67080381] Hiroshi SHIBATA 2020-02-06 13:07:39 UTC

d767da428c28b7b9fec56b383bb32f6f76c6ad26 の rubygems の再定義している require の拡張子の優先順位についての変更を revert しています。 rubyspec がこけたとのこと。

[3d21a75c72] Nobuyoshi Nakada 2020-02-07 02:09:19 UTC

assert_separately で子プロセスから例外オブジェクトが返された時に backtrace のファイル位置を編集してから発生させてたのを SystemExit 例外の時は raise を抑制しているので不要なためスキップするようにしています。

[a3fb97465d] Nobuyoshi Nakada 2020-02-07 03:44:55 UTC

assert_separately の子プロセスでのテストを通常の test/unit の実行にまかせずに BEGIN 節にコードを置いて自動実行を抑制し、専用の separated_runner というメソッドを使って at_exit で Marshal.dump したオブジェクトを書き出すように書き換えています。並列テストで問題になるからとのこと。

[aece5baa75] Nobuyoshi Nakada 2020-02-07 04:44:34 UTC

fork と signal の組み合わせて deadlock していた不具合についてのテストで assert_separately の子プロセス内で stdout に書き込みしていたのを不要として削除しています。

[dedcf62b13] git 2020-02-07 04:47:11 UTC

version.h の日付更新

[6ed1a5e0e6] Nobuyoshi Nakada 2020-02-07 04:50:20 UTC

assert_separately の変更で行番号が変化してこけるようになったテストを修正しています。

[115fec062c] 卜部昌平 2020-02-07 05:14:05 UTC

関数ポインタ型の変数に NULL を代入していたところを 0 を使うようにしています。

[b64b0f3433] Nobuyoshi Nakada 2020-02-07 09:10:36 UTC

Range#step のテストで assert_equal のエラー時のメッセージに Range#step の結果の inspect も表示させるようにしています。

[38ed8cbb5f] "S.H" 2020-02-07 10:35:52 UTC

拡張ライブラリ psych のテストで Struct でクラスを作っているところで同じ名前でクラスを作ると定数が再定義されるので事前にチェックして remove_const するようにしています。make test-all の複数回実行の対応。 https://github.com/ruby/ruby/pull/2881

[59a40feec2] "S.H" 2020-02-07 10:36:11 UTC

同じく psych のテストで Struct の定数再定義を避けるため remove_const するようにしています。 https://github.com/ruby/ruby/pull/2887