From c07b4ef145993f89d4a9baf36781fcb08112a3ac Mon Sep 17 00:00:00 2001 From: mame Date: Tue, 3 Feb 2009 15:39:44 +0000 Subject: * test/etc/test_etc.rb(test_getpwnam, test_getgrgid, test_getgrnam): support an envirionment that has duplicative entries. a patch from Tomoyuki Chikanaga in [ruby-dev:37882]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ test/etc/test_etc.rb | 22 +++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 16436fde42..2b440bda96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Feb 4 00:32:59 2009 Yusuke Endoh + + * test/etc/test_etc.rb(test_getpwnam, test_getgrgid, test_getgrnam): + support an envirionment that has duplicative entries. a patch from + Tomoyuki Chikanaga in + [ruby-dev:37882]. + Wed Feb 4 00:17:52 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): skip diff --git a/test/etc/test_etc.rb b/test/etc/test_etc.rb index add7d63652..4e44eda19a 100644 --- a/test/etc/test_etc.rb +++ b/test/etc/test_etc.rb @@ -37,9 +37,9 @@ class TestEtc < Test::Unit::TestCase end def test_getpwnam - passwd = [] - Etc.passwd {|s| passwd << s } - passwd.each do |s| + passwd = {} + Etc.passwd {|s| passwd[s.name] = s unless passwd[s.name] } + passwd.values.each do |s| assert_equal(s, Etc.getpwnam(s.name)) end end @@ -67,22 +67,26 @@ class TestEtc < Test::Unit::TestCase end def test_getgrgid - groups = [] + groups = {} Etc.group do |s| - groups << s + unless groups[s.gid] + groups[s.gid] = s + end end - groups.each do |s| + groups.values.each do |s| assert_equal(s, Etc.getgrgid(s.gid)) assert_equal(s, Etc.getgrgid) if Process.egid == s.gid end end def test_getgrnam - groups = [] + groups = {} Etc.group do |s| - groups << s + unless groups[s.name] + groups[s.name] = s + end end - groups.each do |s| + groups.values.each do |s| assert_equal(s, Etc.getgrnam(s.name)) end end -- cgit v1.2.3