diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-30 21:00:53 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-30 21:00:53 +0000 |
commit | c0dee604fec7a16ac09a4fab3bf08068863d549d (patch) | |
tree | 9da601cc2f2d94c303fc2135aef623f04a63ba33 | |
parent | 956745eee2ce6536f3c03b4489441089b96186c3 (diff) | |
download | ruby-c0dee604fec7a16ac09a4fab3bf08068863d549d.tar.gz |
process.c: preserve encodings
* process.c (rlimit_resource_type, rlimit_resource_value):
preserve argument encoding in error messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | process.c | 4 | ||||
-rw-r--r-- | test/ruby/test_process.rb | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -4527,7 +4527,7 @@ rlimit_resource_type(VALUE rtype) if (r != -1) return r; - rb_raise(rb_eArgError, "invalid resource name: %s", name); + rb_raise(rb_eArgError, "invalid resource name: %"PRIsVALUE, rtype); UNREACHABLE; } @@ -4567,7 +4567,7 @@ rlimit_resource_value(VALUE rval) #ifdef RLIM_SAVED_CUR if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR; #endif - rb_raise(rb_eArgError, "invalid resource value: %s", name); + rb_raise(rb_eArgError, "invalid resource value: %"PRIsVALUE, rval); UNREACHABLE; } diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 43c2f649b1..85303abe14 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -116,11 +116,15 @@ class TestProcess < Test::Unit::TestCase } assert_raise(ArgumentError) { Process.getrlimit(:FOO) } assert_raise(ArgumentError) { Process.getrlimit("FOO") } + assert_raise_with_message(ArgumentError, /\u{30eb 30d3 30fc}/) { Process.getrlimit("\u{30eb 30d3 30fc}") } end def test_rlimit_value return unless rlimit_exist? + assert_raise(ArgumentError) { Process.setrlimit(:FOO, 0) } assert_raise(ArgumentError) { Process.setrlimit(:CORE, :FOO) } + assert_raise_with_message(ArgumentError, /\u{30eb 30d3 30fc}/) { Process.setrlimit("\u{30eb 30d3 30fc}", 0) } + assert_raise_with_message(ArgumentError, /\u{30eb 30d3 30fc}/) { Process.setrlimit(:CORE, "\u{30eb 30d3 30fc}") } with_tmpchdir do s = run_in_child(<<-'End') cur, max = Process.getrlimit(:NOFILE) |