ruby-trunk-changes 2021-03-08

今日は拡張ライブラリ stringio や添付されている rubygems/bundler の更新などがありました。

[c3c1800708] Hiroshi SHIBATA 2021-02-17 03:20:11 UTC

拡張ライブラリ stringio のテストで skip を使ってたところを omit を使うように書き換えています。

[21e255913c] Nobuyoshi Nakada 2021-03-07 04:45:38 UTC

テストのユーティリティ EnvUtil の invoke_ruby に任意の fd をすりかえて子プロセスを起動する ios キーワード引数を追加して、拡張ライブラリ stringio のテストで opt のキーに Integer を渡すことで実施してたのをこれを利用するようにしています。 引数を ** で受け渡すためにキーが Symbol じゃないと問題があったからかと思います。

[0d29c3179c] Nobuyoshi Nakada 2021-03-07 11:05:21 UTC

tool/lib/test/unit/core_assertions.rb の separated_runner で Test::Unit::TestCase の継承ツリーに存在してる Module をすべて include するようにしています。

[8aa70b9be2] git 2021-03-08 01:03:24 UTC

version.h の日付更新

[d0a05fd4b4] Nobuyoshi Nakada 2021-03-08 01:08:18 UTC

TCPSocket のテストで fd leak が起きてたのを TCPSocket.open をブロックつき呼び出しにしてしています。

[99f54c0895] Hiroshi SHIBATA 2021-02-16 11:50:25 UTC

拡張ライブラリ stringio の gemspec ファイルの s.add_development_dependency を削除しています。

[32a13591e0] Nobuyoshi Nakada 2021-03-07 13:39:38 UTC

拡張ライブラリ stringio の StringIO#eof? の実装を関数に切り出して StringIO#each_{byte, codepoint} で読み込み可能かのチェックに流用するようにしています。 StringIO#each_byte などで読み込む文字があるかをループ内でチェックするようにしています。 [ruby-core:102764] [Bug #17675]

[b1f375ccc5] Nobuyoshi Nakada 2021-03-08 02:54:23 UTC

GitHub Actions の CodeQL でのチェックを行う .github/workflows/codeql-analysis.yml で pull request のブランチからのチェック時に git checkout HEAD^2 してたのを削っています。なんでやってたんだろこれ。

[602d09a181] Nobuyoshi Nakada 2021-03-08 03:42:48 UTC

GitHub Actions の設定で git config --global init.defaultBranch garbage を設定しておくことで余計なメッセージを抑制するようにしています。

[2ab6b7a751] David Rodríguez 2021-02-02 12:20:36 UTC

標準添付されている bundler の bundler.gemspec の spec.files を生成するのに man/ の配下も Dir.glob してたのをもう存在しないので削っています。

[53468cc111] David Rodríguez 2021-02-01 15:17:16 UTC

標準添付されている rubygems と bundler を upstream からマージしています。

[7de349bb49] Aditya Prakash 2021-03-06 03:11:50 UTC

rubygems のテストの TCPSocket#initialize を再定義してしまうものを削っています。

[d10b535806] Yusuke Endoh 2021-03-08 08:04:27 UTC

test/ruby/test_string.rb で assert_no_memory_leak に渡すスクリプトをヒアドキュメントで渡してるところで、GitHub によるシンタックスハイライトが狂うらしくて、その対策として空行を追加しています。うーむなるほど。しかしこのテクニックよく使ってるので他にもいっぱいありそうですけどね。 [ruby-core:102639] [Misc #17662]

[1a00402987] Nobuyoshi Nakada 2021-02-23 07:22:43 UTC

win32/win32.c に 19cc24b34b0490b7c2779eec521fe0089e05f183 で導入したものの a12e950816d4db950d975e062f903a5e8c75f1b6 で revert された排他処理のためのマクロ thread_exclusive() を再度追加して for 文を使ってブロックっぽく書けるようにしています。

[8c943e3be8] Nobuyoshi Nakada 2021-02-23 12:26:36 UTC

1a00402987558db93f2741f3b500ceadd7b17dcd で再追加された win32/win32.c のマクロ thread_exclusive() で利用する変数名を引数名を連結して常に同じ名前になってしまわないようにしています。