diff options
Diffstat (limited to 'test/ruby/test_io.rb')
-rw-r--r-- | test/ruby/test_io.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 18e37d6d0b..5d00f04ef5 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -1048,7 +1048,9 @@ class TestIO < Test::Unit::TestCase def ruby(*args) args = ['-e', '$>.write($<.read)'] if args.empty? ruby = EnvUtil.rubybin - f = IO.popen([ruby] + args, 'r+') + opts = {} + opts[:rlimit_nproc] = 1024 if defined?(Process::RLIMIT_NPROC) + f = IO.popen([ruby] + args, 'r+', opts) pid = f.pid yield(f) ensure @@ -1099,6 +1101,10 @@ class TestIO < Test::Unit::TestCase def test_dup_many ruby('-e', <<-'End') {|f| + if defined?(Process::RLIMIT_NOFILE) + lim = Process.getrlimit(Process::RLIMIT_NOFILE)[0] + Process.setrlimit(Process::RLIMIT_NOFILE, [lim, 1024].min) + end ok = 0 a = [] begin |