diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-02-08 13:35:27 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-02-08 13:35:27 +0000 |
commit | c709040b3fed00cbd557cfa6f5f12a0dd31af096 (patch) | |
tree | 76de90cda5a027b9c3aa8c953324ae4ba5b489d3 /test/-ext- | |
parent | 4e39dc864cc197923bf6e56b9359a1c4def7b1ae (diff) |
* test/-ext-/string/test_modify_expand.rb: test for r34492.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/-ext-')
-rw-r--r-- | test/-ext-/string/test_modify_expand.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/-ext-/string/test_modify_expand.rb b/test/-ext-/string/test_modify_expand.rb new file mode 100644 index 0000000000..5fee7b3580 --- /dev/null +++ b/test/-ext-/string/test_modify_expand.rb @@ -0,0 +1,29 @@ +require 'test/unit' +require "-test-/string/string" +require_relative '../../ruby/envutil' + +class Test_StringModifyExpand < Test::Unit::TestCase + def test_modify_expand_memory_leak + before = after = nil + args = [ + "--disable=gems", "-r-test-/string/string", + "-I"+File.expand_path("../../..", __FILE__), + "-rruby/memory_status", + "-e", <<-CMD + s=Bug::String.new + size=Memory::Status.new.size + puts size + 10.times{s.modify_expand!(size)} + s.replace("") + puts Memory::Status.new.size + CMD + ] + status = EnvUtil.invoke_ruby(args, "", true) do |in_p, out_p, err_p, pid| + before, after = out_p.readlines.map(&:to_i) + Process.wait(pid) + $? + end + assert_equal(true, status.success?) + assert_operator after.fdiv(before), :<, 2 + end +end |