From 640bcdf217f69d83e96483a59ae7f9af4d534f43 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 27 Jan 2017 05:01:18 +0000 Subject: leakchecker.rb: get rid of uninitialized Tempfile * test/lib/leakchecker.rb (LeakChecker#find_tempfiles): get rid of errors on uninitialized Tempfile, which can be left when Dir.tmpdir failed or by Tempfile.allocate. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/lib/leakchecker.rb | 4 +++- test/test_tempfile.rb | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/lib/leakchecker.rb b/test/lib/leakchecker.rb index 355f93dc79..c0cf718635 100644 --- a/test/lib/leakchecker.rb +++ b/test/lib/leakchecker.rb @@ -114,7 +114,9 @@ class LeakChecker if prev_count == count [prev_count, []] else - tempfiles = ObjectSpace.each_object(Tempfile).find_all {|t| t.path } + tempfiles = ObjectSpace.each_object(Tempfile).find_all {|t| + t.instance_variable_defined?(:@tmpfile) and t.path + } [count, tempfiles] end end diff --git a/test/test_tempfile.rb b/test/test_tempfile.rb index 361613173f..7f7f75c7db 100644 --- a/test/test_tempfile.rb +++ b/test/test_tempfile.rb @@ -20,6 +20,10 @@ class TestTempfile < Test::Unit::TestCase end end + def test_leackchecker + assert_instance_of(Tempfile, Tempfile.allocate) + end + def test_basic t = tempfile("foo") path = t.path -- cgit v1.2.3