1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/-ext-/string/test_modify_expand.rb
naruse 8667e8b186 require "rbconfig/sizeof"
They may fail parallel test-all

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 18:17:36 +00:00

26 lines
706 B
Ruby

# frozen_string_literal: false
require 'test/unit'
require "-test-/string"
require "rbconfig/sizeof"
class Test_StringModifyExpand < Test::Unit::TestCase
def test_modify_expand_memory_leak
assert_no_memory_leak(["-r-test-/string"],
<<-PRE, <<-CMD, "rb_str_modify_expand()", limit: 2.5)
s=Bug::String.new
PRE
size = $initial_size
10.times{s.modify_expand!(size)}
s.replace("")
CMD
end
def test_integer_overflow
bug12390 = '[ruby-core:75592] [Bug #12390]'
s = Bug::String.new
long_max = (1 << (8 * RbConfig::SIZEOF['long'] - 1)) - 1
assert_raise(ArgumentError, bug12390) {
s.modify_expand!(long_max)
}
end
end