Preserve encoding in error messages for invalid user/group name

This commit is contained in:
Nobuyoshi Nakada 2020-04-16 20:40:53 +09:00
Родитель 748c7c7c0b
Коммит fedc8075fe
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -5585,7 +5585,7 @@ obj2uid(VALUE id
#ifndef USE_GETPWNAM_R
endpwent();
#endif
rb_raise(rb_eArgError, "can't find user for %s", usrname);
rb_raise(rb_eArgError, "can't find user for %"PRIsVALUE, id);
}
uid = pwptr->pw_uid;
#ifndef USE_GETPWNAM_R
@ -5664,7 +5664,7 @@ obj2gid(VALUE id
#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)
endgrent();
#endif
rb_raise(rb_eArgError, "can't find group for %s", grpname);
rb_raise(rb_eArgError, "can't find group for %"PRIsVALUE, id);
}
gid = grptr->gr_gid;
#if !defined(USE_GETGRNAM_R) && defined(HAVE_ENDGRENT)

Просмотреть файл

@ -1610,6 +1610,9 @@ class TestProcess < Test::Unit::TestCase
if u = Etc.getpwuid(Process.uid)
assert_equal(Process.uid, Process::UID.from_name(u.name), u.name)
end
assert_raise_with_message(ArgumentError, /\u{4e0d 5b58 5728}/) {
Process::UID.from_name("\u{4e0d 5b58 5728}")
}
end
end
@ -1618,6 +1621,9 @@ class TestProcess < Test::Unit::TestCase
if g = Etc.getgrgid(Process.gid)
assert_equal(Process.gid, Process::GID.from_name(g.name), g.name)
end
assert_raise_with_message(ArgumentError, /\u{4e0d 5b58 5728}/) {
Process::GID.from_name("\u{4e0d 5b58 5728}")
}
end
end