1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
nobu 2014-03-30 21:00:53 +00:00
parent 956745eee2
commit c0dee604fe
2 changed files with 6 additions and 2 deletions

View file

@ -4527,7 +4527,7 @@ rlimit_resource_type(VALUE rtype)
if (r != -1) if (r != -1)
return r; return r;
rb_raise(rb_eArgError, "invalid resource name: %s", name); rb_raise(rb_eArgError, "invalid resource name: %"PRIsVALUE, rtype);
UNREACHABLE; UNREACHABLE;
} }
@ -4567,7 +4567,7 @@ rlimit_resource_value(VALUE rval)
#ifdef RLIM_SAVED_CUR #ifdef RLIM_SAVED_CUR
if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR; if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR;
#endif #endif
rb_raise(rb_eArgError, "invalid resource value: %s", name); rb_raise(rb_eArgError, "invalid resource value: %"PRIsVALUE, rval);
UNREACHABLE; UNREACHABLE;
} }

View file

@ -116,11 +116,15 @@ class TestProcess < Test::Unit::TestCase
} }
assert_raise(ArgumentError) { Process.getrlimit(:FOO) } assert_raise(ArgumentError) { Process.getrlimit(:FOO) }
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 end
def test_rlimit_value def test_rlimit_value
return unless rlimit_exist? return unless rlimit_exist?
assert_raise(ArgumentError) { Process.setrlimit(:FOO, 0) }
assert_raise(ArgumentError) { Process.setrlimit(:CORE, :FOO) } 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 with_tmpchdir do
s = run_in_child(<<-'End') s = run_in_child(<<-'End')
cur, max = Process.getrlimit(:NOFILE) cur, max = Process.getrlimit(:NOFILE)