ruby-trunk-changes 2019-07-25

今日は拡張ライブラリ psych の fat gem 対応の削除ほか upstream の変更の取り込みや、test/runner.rb の復活などがありました。

[7b1893c771] Takashi Kokubun 2019-07-24 11:50:50 UTC

Travis-CI の macOS での失敗がまだ直らないそうで make touch-unicode-files 後にまた ls でタイムスタンプファイルなどの更新時刻を表示させるようにしています。

[65a9d4b0f7] Takashi Kokubun 2019-07-24 11:51:29 UTC

676df311d90990a4666adb5b1db4c7aa6b080e57 の Travis-CI の macOS 環境でのファイルのタイムスタンプをリセットするトリックのコメント部分の typo 修正。

[96b0d7cd6f] Nobuyoshi Nakada 2019-07-24 12:03:01 UTC

7b1893c771d21876884e17e8281c737bfc1c4643 のデバッグ用の ls 実行は macOS でのみ実行するようにしています。 ls の -T オプションは GNU の ls だと挙動が違うそうなので。

[538ba984c8] Nobuyoshi Nakada 2019-07-24 12:07:12 UTC

96b0d7cd6fcff7cb2f42315e39a961d84c630e9d の再修正。 YAML の記法を変えて改行を含めるようにしています。

[1cce430324] Nobuyoshi Nakada 2019-07-24 13:07:10 UTC

拡張ライブラリ zlib のテストで警告抑制のため EnvUtil.suppress_warning を利用するようにしています。

[3556cba503] Jeremy Evans 2019-07-24 17:30:56 UTC

Range#cover? の rdoc 用コメントに比較演算子 <=> が nil を返した時の挙動について追記しています。 [ruby-core:73894] [Bug #12090]

[48b4deb418] git 2019-07-24 17:36:25 UTC

version.h の日付更新

[da76c4460f] Jeremy Evans 2019-07-24 18:54:07 UTC

Thread の rdoc 用コメントに Thread 内で発生した例外を Thread#value などで再発生させる挙動について例を上げて説明を詳しくしています。 [ruby-core:74827] [Bug #12252]

[efa380b006] Nobuyoshi Nakada 2019-07-24 20:54:38 UTC

cont.c の例外メッセージやデバッグメッセージのフォーマット文字列で %zu を直接使っていたところを PRIuSIZE マクロを利用するようにしています。

[0a63c4d5fb] Nobuyoshi Nakada 2019-07-24 21:39:40 UTC

pipe で IO#seek を呼んだ時に Errno::ESPIPE を発生させる挙動が Windows では発生しないので、専用の wrapper 実装を追加して socket または pipe の時は Errno::ESPIPE を発生させるようにしています [ruby-core:74724] [Bug #12230]

[938032a790] Hiroshi SHIBATA 2019-07-21 03:16:56 UTC

拡張ライブラリ psych の .gemspec ファイルの不要な development dependency を削除しています。

[50076903ab] Hiroshi SHIBATA 2019-07-21 03:21:27 UTC

拡張ライブラリ pysch で共有ライブラリを require する時のパスを rubyAPI Version つきのパスを試すのをやめるようにしています。 fat gem のサポートをやめるとのこと。fat gem っていうのはバイナリを同梱してる拡張ライブラリコンパイル済みの gem のことかな。

[6ca7dc69ef] Jean Boussier 2019-07-22 10:02:23 UTC

拡張ライブラリ psych で load 時に Hash のキーが文字列だった時に String#-@ (があれば)を使って dedup するようにしています。 https://github.com/ruby/psych/commit/0414982ffd

[698dde525a] Nobuyoshi Nakada 2019-07-24 13:21:49 UTC

拡張ライブラリ psych のテストで定義してるクラスで未初期化のインスタンス変数参照の警告を抑制するため getter メソッドに defined? による確認を追加しています。

[414d6cf1d3] Nobuyoshi Nakada 2019-07-24 18:29:41 UTC

拡張ライブラリ psych のソースでブロックの途中で変数宣言しているところがあったので修正しています。今は C99 を使えるようになっていますが、psych は gem なので古い ruby でビルドすることもあるのでまだ C90 でビルドできるようにしておかないといけないということのようです。

[077c28887a] Nobuyoshi Nakada 2019-07-24 20:00:33 UTC

拡張ライブラリ io-console の gemspec ファイルの不要な development dependency 削除とバージョンの更新。

[82ae462113] Nobuyoshi Nakada 2019-07-24 23:19:03 UTC

tool/sync_default_gems.rb で default gems の upstream の repository を git fetch する時に tag は取得しないように --no-tags オプションを追加しています。

[a850be68a5] Nobuyoshi Nakada 2019-07-24 02:04:26 UTC

テスト中に NoMemoryError が発生した時にシステムの情報をダンプする処理は tool/test/runner.rb から tool/lib/test/unit.rb の run メソッド内に引き上げています。

[d8e90f5558] Kazuhiro NISHIYAMA 2019-07-25 07:39:28 UTC

標準添付ライブラリ csvCSV#inspect が返す文字列の先頭が普通 "#<...>" なのが "<#...>" になってたので修正しています。

[f5ea054810] Nobuyoshi Nakada 2019-07-25 05:29:15 UTC

a850be68a57dce65449766654aa1912b5fa660cb の追加変更。 テスト中の NoMemoryError 発生時の処理を Test::Unit::AutoRunner.run からさらに Test::Unit::Runner#run に移動しています。

[4c1db84d17] Nobuyoshi Nakada 2019-07-25 07:45:18 UTC

tool/lib/test/unit.rb の Test::Unit にテストファイルを探索する起点となるディレクトリを指定する --base-directory オプションを追加しています。

[46771abfe5] Nobuyoshi Nakada 2019-07-25 07:52:03 UTC

tool/lib/test/unit.rb で --base-directory を $LOAD_PATH の先頭に追加するようにしています。

[8e53d18e67] Nobuyoshi Nakada 2019-07-24 02:07:15 UTC

24712eeec39f5e9a11cfc2b940358403cda4f2b6 で削除した test/runner.rb を復活させて tool/test/runner.rb の --test-target-dir オプションの実装は削除しています。

[0f9ec4a877] aycabta 2019-07-25 08:19:11 UTC

標準添付ライブラリ reline の Reline::LineEditor の補完処理でバッファを部分文字列にする時に Encoding の文字の間で分割してしまわないように分岐を追加しています。 byteslice じゃなくて slice にすれば良さそうなものだけど、byte 単位じゃないといけない理由があるんだろうなぁ。

[a50c844645] Nobuyoshi Nakada 2019-07-25 08:15:48 UTC

1feda1c2b091b950efcaa481a11fd660efa9e717 の変更で struct vm_throw_data::throw_state の型を VALUE から int に変更してましたがそれが s390x など Big Endian の環境でまずかったので THROW_DATA_NEW() の引数の型も int に変更して obj->throw_state を明示的に初期化しなおすようにしています。

[7e33f324e1] Nobuyoshi Nakada 2019-07-25 11:57:32 UTC

tool/test/runner.rb で終了ステータスを Test::Unit::AutoRunner.run の戻り値を使ってに明示的に exit するようにしています。 simplecov がないのに COVERAGE が設定されてる時の問題のためらしいけどよくわからず。