Project

General

Profile

Bug #12540

test failures when SHARABLE_MIDDLE_SUBSTRING=1

Added by znz (Kazuhiro NISHIYAMA) about 3 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-07-02 trunk 55562) [x86_64-linux]
[ruby-dev:49704]

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 自体の定義を変更するようにした方が良いのではないでしょうか?

Also available in: Atom PDF