From a1afdfeb06c01a0d16fce52e63ef8383c43754e3 Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 29 May 2014 12:07:39 +0000 Subject: [PATCH] test/fileutils/test_fileutils.rb: Close fds. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/fileutils/test_fileutils.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb index 1c07c6ef5c..5a5ce8f2c7 100644 --- a/test/fileutils/test_fileutils.rb +++ b/test/fileutils/test_fileutils.rb @@ -13,15 +13,16 @@ class TestFileUtils < Test::Unit::TestCase def assert_output_lines(expected, fu = self, message=nil) old = fu.instance_variable_get(:@fileutils_output) - read, write = IO.pipe - fu.instance_variable_set(:@fileutils_output, write) - th = Thread.new { read.read } + IO.pipe {|read, write| + fu.instance_variable_set(:@fileutils_output, write) + th = Thread.new { read.read } - yield + yield - write.close - lines = th.value.lines.map {|l| l.chomp } - assert_equal(expected, lines) + write.close + lines = th.value.lines.map {|l| l.chomp } + assert_equal(expected, lines) + } ensure fu.instance_variable_set(:@fileutils_output, old) if old end