aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-30 21:00:53 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-30 21:00:53 +0000
commitc0dee604fec7a16ac09a4fab3bf08068863d549d (patch)
tree9da601cc2f2d94c303fc2135aef623f04a63ba33
parent956745eee2ce6536f3c03b4489441089b96186c3 (diff)
downloadruby-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.c4
-rw-r--r--test/ruby/test_process.rb4
2 files changed, 6 insertions, 2 deletions
diff --git a/process.c b/process.c
index f0ed4a4206..e4600f5c7c 100644
--- a/process.c
+++ b/process.c
@@ -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)