Bug #12540
test failures when SHARABLE_MIDDLE_SUBSTRING=1
Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-07-02 trunk 55562) [x86_64-linux]
Tags:
Description
SHARABLE_MIDDLE_SUBSTRING=1 でビルドすると Test_StringCStr#test_wchar_lstrip!,Test_StringCStr#test_wchar_rstrip! が失敗します。
[16604/16757] Test_StringCStr#test_wchar_lstrip! = 0.00 s 3) Failure: Test_StringCStr#test_wchar_lstrip! [/home/vagrant/ruby/test/-ext-/string/test_cstr.rb:81]: Expected {#<Encoding:UTF-16BE>=>"a", #<Encoding:UTF-16LE>=>"a", #<Encoding:UTF-32BE>=>"a", #<Encoding:UTF-32LE>=>"a"} to be empty. [16606/16757] Test_StringCStr#test_wchar_rstrip! = 0.00 s 4) Failure: Test_StringCStr#test_wchar_rstrip! [/home/vagrant/ruby/test/-ext-/string/test_cstr.rb:85]: Expected {#<Encoding:UTF-16BE>=>" ", #<Encoding:UTF-16LE>=>" ", #<Encoding:UTF-32BE>=>" ", #<Encoding:UTF-32LE>=>" "} to be empty.
原因を調べてみたところ、lstrip!,rstrip! だけ !SHARABLE_MIDDLE_SUBSTRING で TERM_FILL をくくっているからのようでした。
調べていて思ったのですが、個別に TERM_FILL を呼ぶかどうかを分岐するよりも、 SHARABLE_MIDDLE_SUBSTRING の値によって TERM_FILL 自体の定義を変更するようにした方が良いのではないでしょうか?
No data to display