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 | 8d4e7591464d083ee15868b5a0d6cf9dbbfe0aa6 (patch) | |
| tree | aafecc3d416c5a0821e1030642d559a5e6afa6cf /test/ruby | |
| parent | c8369302281c92e08f9c7260e6b75d14e7d0e523 (diff) | |
| download | ruby-8d4e7591464d083ee15868b5a0d6cf9dbbfe0aa6.tar.gz ruby-8d4e7591464d083ee15868b5a0d6cf9dbbfe0aa6.tar.xz ruby-8d4e7591464d083ee15868b5a0d6cf9dbbfe0aa6.zip | |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@15579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
| -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 1e9ad4d45..167f21ae4 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 |
