From dc5272565515df919e57ad8a9bcb58fdac4c553b Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 11 Mar 2014 05:16:04 +0000 Subject: [PATCH] envutil.rb: do not check RSS by default * test/ruby/envutil.rb (Test::Test#assert_no_memory_leak): do not check RSS by default, enabled by rss optional keyword argument. TestHash#test_exception_in_rehash sometimes fails otherwise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/dl/test_cptr.rb | 2 +- test/dl/test_handle.rb | 2 +- test/fiddle/test_handle.rb | 2 +- test/fiddle/test_pointer.rb | 2 +- test/ruby/envutil.rb | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/dl/test_cptr.rb b/test/dl/test_cptr.rb index 13700cb3f2..a5b37dbb61 100644 --- a/test/dl/test_cptr.rb +++ b/test/dl/test_cptr.rb @@ -221,6 +221,6 @@ module DL end def test_no_memory_leak - assert_no_memory_leak(%w[-W0 -rdl.so], '', '100_000.times {DL::CPtr.allocate}', limit: 1.2) + assert_no_memory_leak(%w[-W0 -rdl.so], '', '100_000.times {DL::CPtr.allocate}', limit: 1.2, rss: true) end end diff --git a/test/dl/test_handle.rb b/test/dl/test_handle.rb index fc5053a87e..43fdd4a6d0 100644 --- a/test/dl/test_handle.rb +++ b/test/dl/test_handle.rb @@ -186,6 +186,6 @@ module DL end def test_no_memory_leak - assert_no_memory_leak(%w[-W0 -rdl.so], '', '100_000.times {DL::Handle.allocate}; GC.start', limit: 1.2) + assert_no_memory_leak(%w[-W0 -rdl.so], '', '100_000.times {DL::Handle.allocate}; GC.start', limit: 1.2, rss: true) end end diff --git a/test/fiddle/test_handle.rb b/test/fiddle/test_handle.rb index aa18c03978..0ed3ecd3f1 100644 --- a/test/fiddle/test_handle.rb +++ b/test/fiddle/test_handle.rb @@ -190,7 +190,7 @@ module Fiddle end if /freebsd/=~ RUBY_PLATFORM def test_no_memory_leak - assert_no_memory_leak(%w[-W0 -rfiddle.so], '', '100_000.times {Fiddle::Handle.allocate}; GC.start', limit: 1.2) + assert_no_memory_leak(%w[-W0 -rfiddle.so], '', '100_000.times {Fiddle::Handle.allocate}; GC.start', limit: 1.2, rss: true) end end end if defined?(Fiddle) diff --git a/test/fiddle/test_pointer.rb b/test/fiddle/test_pointer.rb index 0d7d9a7c27..0570424a44 100644 --- a/test/fiddle/test_pointer.rb +++ b/test/fiddle/test_pointer.rb @@ -232,7 +232,7 @@ module Fiddle end def test_no_memory_leak - assert_no_memory_leak(%w[-W0 -rfiddle.so], '', '100_000.times {Fiddle::Pointer.allocate}', limit: 1.2) + assert_no_memory_leak(%w[-W0 -rfiddle.so], '', '100_000.times {Fiddle::Pointer.allocate}', limit: 1.2, rss: true) end end end if defined?(Fiddle) diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb index 9bf4b6cd56..0596676391 100644 --- a/test/ruby/envutil.rb +++ b/test/ruby/envutil.rb @@ -390,7 +390,7 @@ eom assert_warning(*args) {$VERBOSE = false; yield} end - def assert_no_memory_leak(args, prepare, code, message=nil, limit: 1.5, **opt) + def assert_no_memory_leak(args, prepare, code, message=nil, limit: 1.5, rss: false, **opt) require_relative 'memory_status' token = "\e[7;1m#{$$.to_s}:#{Time.now.strftime('%s.%L')}:#{rand(0x10000).to_s(16)}:\e[m" token_dump = token.dump @@ -415,7 +415,7 @@ eom before = err.sub!(/^#{token_re}START=(\{.*\})\n/, '') && Memory::Status.parse($1) after = err.sub!(/^#{token_re}FINAL=(\{.*\})\n/, '') && Memory::Status.parse($1) assert_equal([true, ""], [status.success?, err], message) - ([:size, :rss] & after.members).each do |n| + ([:size, (rss && :rss)] & after.members).each do |n| b = before[n] a = after[n] next unless a > 0 and b > 0