ruby-trunk-changes 2021-09-11

今日は Hash リテラルに値を省略した記法の追加や、テスト用のライブラリに MiniTest のモジュールを利用していたのを Test::Unit 配下に吸収して利用するモジュール名を統一するようにする変更などがありました。

[3e038ab1c7] aycabta 2021-09-10 19:30:29 UTC

irb で ":::" と3連続するコロンで自動補完が誤って "::" の続きとして候補を探してしまっていた不具合を修正しています。

[c09f8e56bc] git 2021-09-10 19:41:38 UTC

version.h の日付更新

[967b9743fa] Burdette Lamar 2021-09-10 22:21:21 UTC

Enumerable#to_a, #to_h, #inject の rdoc 用コメントの修正。inject の call-seq から別名の reduce の例を消してるけどこれはそういうルールになったんだっけ。 https://github.com/ruby/ruby/pull/4808

[cd829bb078] Nobuyoshi Nakada 2021-09-09 14:21:06 UTC

デバッグ出力用に fprintf(3) を直接使っていたところを ruby_debug_printf() を利用するようにしています。 MJIT 用ヘッダから使われる関数やマクロで使わないようにしているそうです。不要なコードのリンクを抑制するためとのこと。

[1bec4f251d] Hiroshi SHIBATA 2021-09-06 13:17:40 UTC

tool/lib/minitest/unit.rb の Minitest::Assertions モジュールの内容を tool/lib/minitest/unit.rb の Test::Unit::Assertions の中に移動しています

[77763d4940] Hiroshi SHIBATA 2021-09-06 23:53:35 UTC

tool/lib/minitest/unit.rb で Minitest という定数を typo 対策として定義してたのを削除しています。

[8431c718bb] Hiroshi SHIBATA 2021-09-06 23:54:01 UTC

同じく tool/lib/minitest/unit.rb で MiniTest::Test という定数を互換性のため定義していたのを削除しています。

[54d2d70629] Hiroshi SHIBATA 2021-09-07 00:30:22 UTC

tool/lib/minitest/unit.rb の MiniTest::Unit の配下の Guard, LifecycleHooks, TestCase などの Module/Class の定義を tool/lib/test/unit/testcase.rb の Test::Unit の配下に移動しています。

[93c44c4ed2] Hiroshi SHIBATA 2021-09-07 00:31:44 UTC

同じく tool/lib/test/unit/assertions.rb の定数 MIN_HZ, MIN_MEASURABLE を tool/lib/test/unit/testcase.rb の Test::Unit::TestCase 配下に移動しています。がこれは後に revert されています。

[7456cbdd09] Hiroshi SHIBATA 2021-09-07 00:36:13 UTC

tool/lib/test/unit.rb の MiniTest::Unit::TestCase.test_order メソッドの定義を tool/lib/test/unit/testcase.rb の Test::Unit::TestCase に移動しています。

[871e7b5f55] Hiroshi SHIBATA 2021-09-07 01:03:53 UTC

一部のテストで Minitest という typo したモジュール名を使っていたのを MiniTest に修正しています。

[3e32412e08] Hiroshi SHIBATA 2021-09-07 02:46:12 UTC

tool/lib/test/ 配下で MiniTest::Test::TestCase のかわりに Test::Unit::TestCase を利用するように移行しています。

[df86d78a26] Hiroshi SHIBATA 2021-09-07 08:23:43 UTC

tool/lib/test/unit/assertions.rb で MiniTest::Assertions.diff というクラスメソッドを呼び出しているところを self.class.diff とクラス名を明示しないかたちで呼び出すように変更しています。

[e4b5ac9b9a] Hiroshi SHIBATA 2021-09-07 11:27:53 UTC

テスト用のライブラリで MiniTest::Unit::TestCase のかわりに Test::Unit::TestCase を利用するようにしています。

[48933a3409] Hiroshi SHIBATA 2021-09-07 12:00:31 UTC

Test::Unit::TestCase#reset でクラス変数 @@test_suites をクリアしたあと self をキーとして追加するようにしています。よくわかりませんが並列テストのためらしい。

[78ec066347] Hiroshi SHIBATA 2021-09-07 12:12:55 UTC

一部のテストで Test::Unit::Assertions のかわりに Test::Unit::CoreAssertions を利用するように変更しています。

[c18e953937] Hiroshi SHIBATA 2021-09-08 01:00:41 UTC

tool/lib/minitest/unit.rb から MiniTest::Unit モジュール全体を Test::Unit::Runner 内に移動しています。

[8ec187c091] Hiroshi SHIBATA 2021-09-08 01:35:50 UTC

テスト用ライブラリ内で MiniTest::Unit のかわりに Test::Unit::Runner を利用するように移行しています。

[374cc7231e] Hiroshi SHIBATA 2021-09-08 02:00:01 UTC

tool/lib/test/unit.rb から Test::Unit::VERSION 定数を削除しています。

[1fd2a66a93] Hiroshi SHIBATA 2021-09-08 03:04:10 UTC

Test::Unit::Runner.run の実装を消して呼び元の Test::Unit::AutoRunner#run に展開しています。がこれは後に revert されています

[206af4727c] Hiroshi SHIBATA 2021-09-08 03:32:04 UTC

同じく Test::Unit::Runner#puke メソッドは削除して Test::Unit::AutoRunner#puke に展開しています。

[988eda744c] Hiroshi SHIBATA 2021-09-08 03:32:37 UTC

Test::Unit::Runner#process_args というメソッドが不要になっていたので削除しています。

[7ef0a4634c] Hiroshi SHIBATA 2021-09-08 05:03:46 UTC

Test::Unit::Runner#_run_suites メソッドも未使用になっていたので削除しています。

[62db6e47b6] Hiroshi SHIBATA 2021-09-08 05:04:43 UTC

Test::Unit::Runner#initialize の実装を削除して Test::Unit::Options#initialize に移動しています。

[8ee38bdd7d] Hiroshi SHIBATA 2021-09-08 10:33:34 UTC

Test::Unit::Runner.autorun メソッドの定義が重複していたので削除しています。

[0598e87abf] Hiroshi SHIBATA 2021-09-08 11:23:59 UTC

Test::Unit::Runner に Test::Unit::StatusLine を include していたのを extend に変更してメソッド上書きするようにしています。

[1e18f4e60f] Hiroshi SHIBATA 2021-09-08 11:36:56 UTC

一部のテストで MiniTest::Unit のかわりに Test::Unit::Runner を利用するように変更しています。

[9b026ca39b] Hiroshi SHIBATA 2021-09-08 12:02:08 UTC

テスト用ライブラリ内で MiniTest::Skip や MiniTest::Assertion のかわりに Test::Skip や Test::Assertion を利用するように移行しています。

[3451d4d941] Hiroshi SHIBATA 2021-09-08 12:07:24 UTC

tool/lib/minitest/README.txt を削除して LEGAL に tool/lib/test/ の配下のファイルについて MiniTest 由来であることを追記しています。

[4505be6fd0] Hiroshi SHIBATA 2021-09-08 12:11:39 UTC

tool/lib/core_assertions.rb で default gems のテストのために MiniTest::Assertion や MiniTest::Skip を定義していたのを削除しています。

[dbbfdc488c] Hiroshi SHIBATA 2021-09-09 03:13:40 UTC

3451d4d9417ce1a6099d18e3a0d4ee012cf7bace で LEGAL に追記したセクションの対象に tool/lib/core_assertions.rb ファイルもつけ加えています。

[a3b0518672] Hiroshi SHIBATA 2021-09-09 03:26:23 UTC

tool/lib/test/unit.rb の Test::Unit::TEST_UNIT_IMPLEMENTATION という定数はもう不要らしいので削除しています。

[8aaa40e55f] Hiroshi SHIBATA 2021-09-09 04:56:02 UTC

tool/test/minitest/ 配下のファイルを tool/test/testunit/ に移動しています。

[d5e94bf5db] Hiroshi SHIBATA 2021-09-09 05:13:13 UTC

8aaa40e55fa2812755dec33db265745c77cdb3ed で移動したファイル内のクラス/モジュール名を MiniTest から Test::Unit に変更しています。

[6d206352c3] Hiroshi SHIBATA 2021-09-09 05:14:39 UTC

テスト用ライブラリ自体のテストで assert_raises のかわりに assert_raise を利用するように変更しています。

[ad979a5e00] Hiroshi SHIBATA 2021-09-09 05:26:57 UTC

8aaa40e55fa2812755dec33db265745c77cdb3ed で移動しファイル内で Test::Unit.runner のかわりに Test::Unit::Runner.runner を利用するように変更しています。

[9ff614bc13] Hiroshi SHIBATA 2021-09-09 06:10:00 UTC

テスト用ライブラリ内でまだ MiniTest::Assertions を使っているところがあったので Test::Unit::Assertions を使うように変更しています。

[905c04d1e6] Hiroshi SHIBATA 2021-09-09 06:51:00 UTC

テスト用ライブラリ自体のテストで MiniTest::Assertion や MiniTest::Skip を使っていたところを Test::Assertion、Test::Skip を利用するように変更しています。

[934feb1dee] Hiroshi SHIBATA 2021-09-09 11:04:33 UTC

make test-testframework で minitest をテスト対象から外しています。

[6b5400ccde] Hiroshi SHIBATA 2021-09-09 11:13:43 UTC

テスト用ライブラリ自体のテストで MiniTest から Test::Unit への変更によるメッセージの変化に対応しています。

[0a5844cbdd] Hiroshi SHIBATA 2021-09-09 11:35:39 UTC

tool/test/testunit/test_minitest_unit.rb のテストから Test::Unit への移行により不要になったテストを削除しています。

[47928204b7] Hiroshi SHIBATA 2021-09-09 11:55:53 UTC

同じく tool/test/testunit/test_minitest_unit.rb のテスト用ライブラリ自体のテストでメッセージの差異に対応しています。

[0fda70e3a3] Hiroshi SHIBATA 2021-09-09 11:56:53 UTC

同じくテストライブラリ自体のテストで assert_xxx と refute_xxx が常に対になってるということを確認してるものを削除しています。

[1c4f0f1eee] Hiroshi SHIBATA 2021-09-09 12:03:28 UTC

Test::Unit::TestCase.test_suites に自分自身を初期値として追加するようにしたことによるテストのエラーの対応。

[bc1c09c6e8] Hiroshi SHIBATA 2021-09-09 12:16:35 UTC

テストライブラリ自体のテストでメッセージの変更によるエラーの修正。

[566bbc2421] Hiroshi SHIBATA 2021-09-09 12:38:28 UTC

テストライブラリ自体のテストでいくつか未対応の機能のテストを pend でスキップするようにしています。

[980f61935f] Hiroshi SHIBATA 2021-09-09 12:47:11 UTC

同じくテストライブラリ自体のテストで並列テストの assertion のひとつを pend でスキップしておくようにしています。

[d7f0b41c7b] Hiroshi SHIBATA 2021-09-10 11:37:01 UTC

同じくテストライブラリ自体のテストで実行時にメッセージが出てしまうものをとりあず pend でスキップするようにしています。

[151a1cd45e] Hiroshi SHIBATA 2021-09-10 11:41:52 UTC

Test::Unit::Assertions と Test::Unit::CoreAssertions の include や extend の順序には注意が必要みたいで常に Assertions のほうが先になるようにリファクタリングしています。

[7cec81e073] Hiroshi SHIBATA 2021-09-10 11:46:59 UTC

tool/lib/test/unit.rb の不要な require を削除しています。

[d05383812a] Hiroshi SHIBATA 2021-09-10 11:56:07 UTC

テスト用ライブラリで Test::Skip のかわりに Test::Unit::PendedError を利用するようにしています。

[9583d2057d] Hiroshi SHIBATA 2021-09-10 21:52:09 UTC

tool/lib/core_assertions.rb の Test::Unit::Assertions::AssertFile に include Assertions が抜けていたので追加しています。

[56065f0686] S-H-GAMELINKS 2021-09-02 03:15:21 UTC

RB_TYPE_P() で T_SYMBOL 型オブジェクトであることを確認しているところを SYMBOL_P() マクロを利用するようにリファクタリングしています。

[032534dbdf] S-H-GAMELINKS 2021-09-03 11:50:12 UTC

同様に RB_TYPE_P() で T_BIGNUM 型オブジェクトであることをチェックしているところを RB_BIGNUM_TYPE_P() マクロを利用するようにリファクタリング

[9784f6685e] S-H-GAMELINKS 2021-09-03 16:25:36 UTC

同様に RB_TYPE_P() で T_NIL であることを確認しているところを NIL_P() を利用するように変更しています。ていうか T_NIL ってあるんだっけ。

[2bc85766c0] Hiroshi SHIBATA 2021-09-11 01:24:51 UTC

net/http のテストで skip のかわりに omit を利用するようにしています。

[b178929469] Hiroshi SHIBATA 2021-09-11 02:21:37 UTC

93c44c4ed2f3b35db862f4238e5fb104cfb7aab9 で tool/lib/test/unit/testcase.rb に移動した定数 MIN_HZ や MIN_MEASURABLE の定義を元の tool/lib/test/unit/assertions.rb に戻しています。RubyCI で定数未定義になって失敗してしまったとのこと。

[6f35a4e526] Kazuhiro NISHIYAMA 2021-09-11 03:29:59 UTC

doc/contributing.rdoc および doc/make_cheatsheet.md で autoconf コマンド実行のかわりに ./autogen.sh を使うことを支持するように書きかえています。

[bf5711f498] Nobuyoshi Nakada 2021-07-14 10:23:05 UTC

make check で開発中のリポジトリの時に最後に現在のブランチの変更ログを表示するためログから #include を含む行を抜き出してましたが、システムヘッダの #include の追加は捕捉しないように "" でクオートされているか先頭が ruby/ のヘッダファイルの時だけ抽出するようにしています。これなんでメッセージ出力するようにしてるんでしたっけ。依存関係の再生成を忘れないようにするため?

[f73f9e1f89] Hiroshi SHIBATA 2021-09-11 05:29:23 UTC

tool/lib/test/unit.rb でバックトレースの不要なファイルの行を消すためにチェックしていたファイルパスを lib/minitest から lib/test に変更しています。

[806583c093] Hiroshi SHIBATA 2021-09-11 06:17:34 UTC

assert_separately で子プロセスの最初に実行させる処理で Test::Unit::CoreAssertions の include を tool/lib/core_assertions.rb 自体の require の前にするように順序を変更しています。

[d9025ee2b5] Hiroshi SHIBATA 2021-09-11 06:29:16 UTC

f73f9e1f893409d8b7b42ff5fbda104fdd277cba の追加修正でテスト用ライブラリのテストでバックトレースのファイルパスとして lib/minitest でなく lib/test を期待するように書きかえています。

[cbda32cd98] git 2021-09-11 07:02:42 UTC

gems/bundled_gems の test-unit を 3.4.6 に更新しています。

[30b4da2bc1] Nobuyoshi Nakada 2021-09-11 07:25:10 UTC

tool/lib/core_assertions.rb のテストライブラリのパスをバックトレースから除外するために得るところでディレクトリ名を minitest から test/unit に変更しています。

[c5c0f5c652] Nobuyoshi Nakada 2021-08-28 03:19:26 UTC

rdoc で文字列を HTML にエンコードするメソッドでシングルクオートを検出する時に ' という数値文字参照の記法にも対応するようにしています。

[6944163415] Nobuyoshi Nakada 2021-08-28 03:57:36 UTC

同じく rdoc の HTML へのエンコード実体に backtick (`) も対応してクオート内でなければ open_squote という文字に変換するようにしています。

[bc0ea95ca8] Nobuyoshi Nakada 2021-09-10 13:56:13 UTC

rdoc の HTML 変換で連続するシングルクオートを検出するところでも数値文字参照も対応するようにしています。

[0fbde94b27] Nobuyoshi Nakada 2021-09-10 14:25:02 UTC

rdoc の HTML エンコーディングメソッドで (r) や (c) で登録商標マークとかコピーライトマークの特殊文字(®、©)に変換する時に r や c が大文字でも良いようにしています。なんかこれ (A), (B), (C) みたいな箇条書きでマークになっちゃいそうですね。

[46bde60df3] Nobuyoshi Nakada 2021-09-11 07:43:02 UTC

tool/lib/test/unit.rb のテストメソッドを正規表現でフィルタリングするコードを削除しています。minitest 利用時に使ってたけどもう不要になったということのようです。

[911f62e681] Nobuyoshi Nakada 2021-09-11 08:19:02 UTC

tool/lib/test/unit.rb の _run_suite メソッドを orig_run_suite の alias として定義を変更しています。

[cd83e716d0] Nobuyoshi Nakada 2021-09-11 08:32:42 UTC

test/unit のコマンドラインオプションのヘルプメッセージに出すバナーの "minitest options:" を "test-unit options:" に変更しています。

[952806cdec] Nobuyoshi Nakada 2021-09-11 08:37:49 UTC

tool/lib/test/unit.rb と tool/lib/test/unit/testcase.rb にコメントで MiniTest を利用することを前提とした箇所があったので削除したり書きかえたりしています。

[b568e6a130] Nobuyoshi Nakada 2021-09-11 08:54:11 UTC

C++ で拡張ライブラリを書いている時の警告抑制のために rb_iterate() の宣言に RBIMPL_ATTR_DEPRECATED() をつけるようにしています。

[aebd0a873e] Hiroshi SHIBATA 2021-09-11 09:03:40 UTC

tool/lib/test/unit/testcase.rb と tool/test/testunit/test_minitest_unit.rb から maglev 向けのコードを削除しています。

[a13ee1f33c] Hiroshi SHIBATA 2021-09-11 09:04:16 UTC

tool/lib/test/unit/testcase.rb と tool/test/testunit/test_minitest_unit.rb から rubinius 向けのコードを削除しています。

[64e056a4c5] Hiroshi SHIBATA 2021-09-11 09:09:53 UTC

tool/test/testunit/test_minitest_unit.rb に 1.8以前の ruby を対応するためのコードが残っていたのを削除しています。

[c60dbcd1c5] Shugo Maeda 2021-09-11 09:49:12 UTC

Hash リテラルに値の部分を省略してキーと同名のローカル変数の参照またはメソッド呼び出しの結果を値にする { x:, y: } のような新たな記法を追加しています。大きな変更ですね。NEWS にも追記が必要。 [ruby-core:85950] [Feature #14579]

[7899866849] Nobuyoshi Nakada 2021-09-11 10:07:02 UTC

c60dbcd1c55cd77a24c41d5e1a9555622be8b2b8 で追加した Hash リテラルの新しい記法のテストにキーに変数埋め込みのある文字列を使った時には値は省略できないことを確認するテストケースを追加しています。 [ruby-core:85950] [Feature #14579]

[28df037718] Nobuyoshi Nakada 2021-09-11 09:15:23 UTC

LEGAL の missing/mt19937.c についての記述に空行を追加しています。行末の空白で段落を分けてたみたいなんですけど、気がつきにくいので空行を入れるようにしたみたいです。というか行末空白で段落分けになるんだ。

[8e832ea031] Nobuyoshi Nakada 2021-09-11 10:18:22 UTC

NEWS.md のインデントの修正。