From 83ead3c4a7dc2670bad06745eaccbdd0a9397f46 Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 29 May 2014 22:28:47 +0000 Subject: * ext/-test-/dir: Dir#fileno implemented. * test/lib/minitest/unit.rb (find_fds): Don't return the fd used to scan /proc/$$/fd. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/lib/minitest/unit.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'test/lib/minitest') diff --git a/test/lib/minitest/unit.rb b/test/lib/minitest/unit.rb index e880d3654b..2f31d6d2e9 100644 --- a/test/lib/minitest/unit.rb +++ b/test/lib/minitest/unit.rb @@ -2,6 +2,7 @@ require "optparse" require "rbconfig" +require "-test-/dir" ## # Minimal (mostly drop-in) replacement for test-unit. @@ -992,7 +993,17 @@ module MiniTest def find_fds fd_dir = "/proc/#{$$}/fd" if File.directory?(fd_dir) - Dir.entries(fd_dir).grep(/\A\d+\z/).map(&:to_i).sort + fds = Dir.open(fd_dir) {|d| + a = [] + while fn = d.read + a << fn + end + if d.respond_to? :fileno + a -= [d.fileno.to_s] + end + a + } + fds.grep(/\A\d+\z/).map(&:to_i).sort else [] end -- cgit v1.2.3