今日は GC のテストがたまにエラーになる事象の対策などがありました。
[501f2c44e6] Yusuke Endoh 2020-03-03 11:54:31 UTC
c8d0bf0156878df03a71fffc97c44abf7333d5d7 で pattern match のテストに追加したパターンでまた未参照のローカル変数警告が出てたので "_" で始まる変数への代入で抑制しています。
[43ed4eb6d1] Yusuke Endoh 2020-03-03 12:00:03 UTC
1ad9364440f6685d2df3b855f5e22f644e9f1f43 で tool/lib/leakchecker.rb に追加したデバッグ用の GC.verify_internal_consistency の呼び出しを i386-solaris のみに範囲を狭めています。
[03f9e8746e] Charles Oliver Nutter 2020-02-23 20:49:26 UTC
test/ruby/test_settracefunc.rb の setup/teardown の RubyVM::InstructionSequence.compile_option の設定と復旧に defined?(RubyVM) のチェックを追加しています。このテストは JRuby も利用しているからかな。
[14dd377e51] git 2020-03-03 15:11:35 UTC
version.h の日付更新
[cf52f37cae] Koichi Sasada 2020-03-04 02:25:43 UTC
43ed4eb6d1cbbd31de2c98ae515630ee8f988c1e で対象を i386-solaris に絞った tool/lib/leakchecker.rb のデバッグ用コードをさらにテスト名に TestGem が含まれる時だけに絞っています。
[6e271e4cbb] Koichi Sasada 2020-03-04 02:31:07 UTC
というわけで(?) GC.start(full_mark: false) のテストでその前に一度 GC.start を明示的に実行しておくようにしています。次の GC を極力 minor GC にするためとのこと。これでも確実ではないようですけど。
[02705b27be] Koichi Sasada 2020-03-04 02:33:55 UTC
6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00 と同様に GC.latest_gc_info のテストでもターゲットの GC.start の前に一度 GC.start を実行しておくようにしています。コメントないとこれうっかり重複として消してしまいそう。
[ce586107d8] Koichi Sasada 2020-03-04 02:36:34 UTC
6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00 で assertion に追加してた msg はそんな変数はなかったので削っています。
[97fa6468dc] 卜部昌平 2020-03-02 02:20:50 UTC
マクロ CALC_EXACT_MALLOC_SIZE を定義してビルドした時にコンパイルエラーしていたようで preprocessor の分岐を少し修正しています。
[2325017477] 卜部昌平 2020-02-25 03:42:00 UTC
同じくマクロ USE_TRANSIENT_HEAP=0 に定義してビルドした時にコンパイルエラーしていたようで preprocessor の分岐を追加しています。
[f12b9a3338] 卜部昌平 2020-02-26 02:45:29 UTC
fprintf(3) の "%p" フォーマット指示子に渡すポインタを void* に明示的にキャストするようにしています。
[f7048f9d55] 卜部昌平 2020-03-02 06:50:22 UTC
Test::Unit が --seed オプションの指定がなかった時に子プロセスに渡すオプションに --seed を追加するのを最後ではなくて先頭に追加するようにしています。TESTS="-- -ext-" のように "-" ではじまる通常の引数を渡すため "--" を使った時に --seed もオプションにならなくなってしまうのを避けるためとのこと。
[aa44b29030] 卜部昌平 2020-02-20 05:02:01 UTC
bignum.c と vm_method.c の変数の初期化を追加しています。 GCC7 で警告が出るようになった(おそらく誤検出?)そうです。
[16415fefc1] Yusuke Endoh 2020-03-04 03:31:11 UTC
test/lib/jit_support.rb の未サポートのコンパイラリストの icc のパスが変化したみたいなので正規表現の先頭部分のパターンを削っています。
[87f6154bb4] Yusuke Endoh 2020-03-04 06:46:26 UTC
efd641ffab34e433a8d8a7d78914576f2425aa90 の ce6caade7c57a505f73086ccd7b33c14f7715f22 で fiddle で常に ffi_prep_closure() を使うようにしたのを revert したのを revert しています。CI のエラーだったと思われるけどこの変更で Ubuntu でビルド時の警告が出るのでリトライしてみるみたいです。
[d732bc51bd] Yusuke Endoh 2020-03-04 08:28:21 UTC
efd641ffab34e433a8d8a7d78914576f2425aa90 で efd641ffab34e433a8d8a7d78914576f2425aa90 の ce6caade7c57a505f73086ccd7b33c14f7715f22 で fiddle で常に ffi_prep_closure() を使うようにしたのを revert したのを revert したのを revert しています。やっぱり macOS 上の CI でエラーになったみたいです。
[633a1f15d8] Nobuyoshi Nakada 2020-03-04 09:13:03 UTC
拡張ライブラリ fiddle で USE_FFI_CLOSURE_ALLOC の指定に libffi のバージョンやアーキテクチャなどいろいろ条件が書いてありましたが、シンプルに HAVE_FFI_CLOSURE_ALLOC の有無だけで分岐するように変更しています。
[95f387f61a] Nobuyoshi Nakada 2020-03-04 09:41:47 UTC
拡張ライブラリ fiddle の execonf.rb でバンドルされている libffi を使う場合は ffi_closure_free() が定義されていることはわかっているので have_func() を使わずに直接 -DUSE_FFI_CLOSURE_ALLOC=1 をコンパイラオプションに追加するようにしています。