diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-10 07:15:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-10 07:15:12 +0000 |
commit | 8ed8e0ba417390c117763073c44ebe45eb8afa68 (patch) | |
tree | c800888fb6ed38f9726c01c7e00ff46a7694ae72 /test | |
parent | 54f1d71ab24d0c0a4dd49cfe6b1a0db07d89f81c (diff) | |
download | ruby-8ed8e0ba417390c117763073c44ebe45eb8afa68.tar.gz |
test_etc.rb: relax comparisons
* test/etc/test_etc.rb (test_getgrgid, test_getgrnam): relax
comparisons. getgrent() does not return mem properly in some
circumstances (possibly, involved in Open Directory on OSX).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/etc/test_etc.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/etc/test_etc.rb b/test/etc/test_etc.rb index 374b379fc4..5ac09a781b 100644 --- a/test/etc/test_etc.rb +++ b/test/etc/test_etc.rb @@ -83,23 +83,25 @@ class TestEtc < Test::Unit::TestCase groups = Hash.new {[]} # on MacOSX, same entries are returned from /etc/group and Open # Directory. - Etc.group {|s| groups[s.gid] |= [s]} + Etc.group {|s| groups[s.gid] |= [[s.name, s.gid]]} groups.each_pair do |gid, s| - assert_include(s, Etc.getgrgid(gid)) + g = Etc.getgrgid(gid) + assert_include(s, [g.name, g.gid]) end s = groups[Process.egid] unless s.empty? - assert_include(s, Etc.getgrgid) + g = Etc.getgrgid + assert_include(s, [g.name, g.gid]) end end def test_getgrnam groups = {} Etc.group do |s| - groups[s.name] ||= s unless /\A\+/ =~ s.name + groups[s.name] ||= s.gid unless /\A\+/ =~ s.name end - groups.each_value do |s| - assert_equal(s, Etc.getgrnam(s.name)) + groups.each_pair do |n, s| + assert_equal(s, Etc.getgrnam(n).gid) end end |