mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
test_etc.rb: remove implicit assumption
* test/etc/test_etc.rb (TestEtc#test_getpwuid): remove implicit assumption, that getpwuid() would return the first entry in the order of getpw(), for shared UID. apparently it is not true on MacOS X 10.8. [ruby-core:46975][Bug #6831] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e57da6109c
commit
800d9a7ac1
1 changed files with 12 additions and 5 deletions
|
@ -28,11 +28,18 @@ class TestEtc < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_getpwuid
|
def test_getpwuid
|
||||||
passwd = {}
|
# password database is not unique on UID, and which entry will be
|
||||||
Etc.passwd {|s| passwd[s.uid] ||= s }
|
# returned by getpwuid() is not specified.
|
||||||
passwd.each_value do |s|
|
passwd = Hash.new {[]}
|
||||||
assert_equal(s, Etc.getpwuid(s.uid))
|
# on MacOSX, same entries are returned from /etc/passwd and Open
|
||||||
assert_equal(s, Etc.getpwuid) if Process.euid == s.uid
|
# Directory.
|
||||||
|
Etc.passwd {|s| passwd[s.uid] |= [s]}
|
||||||
|
passwd.each_pair do |uid, s|
|
||||||
|
assert_include(s, Etc.getpwuid(uid))
|
||||||
|
end
|
||||||
|
s = passwd[Process.euid]
|
||||||
|
if s
|
||||||
|
assert_include(s, Etc.getpwuid)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue