diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-22 16:12:32 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-22 16:12:32 +0000 |
commit | 310735aa4ad3978557d64683989c1e51356390df (patch) | |
tree | aafecc3d416c5a0821e1030642d559a5e6afa6cf /test/ruby/test_process.rb | |
parent | 7b218308e0e4470abbd13aad4b116c5df2e3d306 (diff) |
* process.c (rlimit_resource_type): new function.
(rlimit_resource_value): new function.
(proc_getrlimit): use rlimit_resource_type to accept
symbol and string as resource type.
(proc_setrlimit): use rlimit_resource_type and rlimit_resource_value
to accept symbol and string as resource type and values.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_process.rb')
-rw-r--r-- | test/ruby/test_process.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 1e9ad4d457..167f21ae44 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -38,4 +38,36 @@ class TestProcess < Test::Unit::TestCase Process.wait pid assert_equal(0, $?.to_i, "#{$?}") end + + def test_rlimit_name + return unless rlimit_exist? + [ + :AS, "AS", + :CORE, "CORE", + :CPU, "CPU", + :DATA, "DATA", + :FSIZE, "FSIZE", + :MEMLOCK, "MEMLOCK", + :NOFILE, "NOFILE", + :NPROC, "NPROC", + :RSS, "RSS", + :STACK, "STACK", + :SBSIZE, "SBSIZE", + ].each {|name| + if Process.const_defined? "RLIMIT_#{name}" + assert_nothing_raised { Process.getrlimit(name) } + else + assert_raise(ArgumentError) { Process.getrlimit(name) } + end + } + assert_raise(ArgumentError) { Process.getrlimit(:FOO) } + assert_raise(ArgumentError) { Process.getrlimit("FOO") } + end + + def test_rlimit_value + return unless rlimit_exist? + assert_raise(ArgumentError) { Process.setrlimit(:CORE, :FOO) } + assert_raise(Errno::EPERM) { Process.setrlimit(:NOFILE, :INFINITY) } + assert_raise(Errno::EPERM) { Process.setrlimit(:NOFILE, "INFINITY") } + end end |