diff --git a/test/drb/test_drbssl.rb b/test/drb/test_drbssl.rb index 8ab010e1c4..1763b38448 100644 --- a/test/drb/test_drbssl.rb +++ b/test/drb/test_drbssl.rb @@ -59,6 +59,7 @@ end class TestDRbSSLAry < Test::Unit::TestCase include DRbAry def setup + LeakChecker.skip if defined?(LeakChecker) @drb_service = DRbSSLService.new super setup_service 'ut_array_drbssl.rb' diff --git a/tool/lib/leakchecker.rb b/tool/lib/leakchecker.rb index db274ca38c..5311cddfe0 100644 --- a/tool/lib/leakchecker.rb +++ b/tool/lib/leakchecker.rb @@ -4,6 +4,7 @@ class LeakChecker def initialize @fd_info = find_fds + @@skip = false @tempfile_info = find_tempfiles @thread_info = find_threads @env_info = find_env @@ -63,7 +64,7 @@ class LeakChecker } end fd_leaked = live2 - live1 - if !fd_leaked.empty? + if !@@skip && !fd_leaked.empty? leaked = true h = {} ObjectSpace.each_object(IO) {|io| @@ -123,6 +124,7 @@ class LeakChecker } end @fd_info = live2 + @@skip = false return leaked end @@ -290,4 +292,8 @@ class LeakChecker end output.puts(*a) end + + def self.skip + @@skip = true + end end