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
This commit is contained in:
nobu 2017-01-27 05:01:18 +00:00
Родитель 70410163f5
Коммит 640bcdf217
2 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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