[#46930] [ruby-trunk - Bug #6825][Open] forking and pthread_cond_timedwait: Invalid argument (EINVAL) on OS X / 1.9.3-p194 — "xentronium (Mark A)" <markizko@...>

29 messages 2012/08/02

[#46974] [ruby-trunk - Bug #6830][Assigned] test failure test_constants(OpenSSL::TestConfig) [/ruby/test/openssl/test_config.rb:27] on Mac + homebrew — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>

17 messages 2012/08/04

[#46975] [ruby-trunk - Bug #6831][Assigned] test_getpwuid() on Mountain Lion — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>

12 messages 2012/08/04

[#46996] [ruby-trunk - Bug #6836][Assigned] Improve File.expand_path performance in Windows — "luislavena (Luis Lavena)" <luislavena@...>

15 messages 2012/08/04

[#47036] [ruby-trunk - Feature #6841][Open] Shorthand for Assigning Return Value of Method to Self — "wardrop (Tom Wardrop)" <tom@...>

18 messages 2012/08/07

[#47108] [ruby-trunk - Feature #6852][Open] [].transpose should behave specially — "boris_stitnicky (Boris Stitnicky)" <boris@...>

13 messages 2012/08/10

[#47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes — "spastorino (Santiago Pastorino)" <santiago@...>

14 messages 2012/08/12

[#47163] [ruby-trunk - Bug #6865][Open] GC::Profiler.report might create a huge String and invoke a few GC cycles — "Eregon (Benoit Daloze)" <redmine@...>

9 messages 2012/08/13

[#47189] [ruby-trunk - Feature #6868][Open] Make `do` in block syntax optional when the block is the last argument of a method and is not an optional argument — "alexeymuranov (Alexey Muranov)" <redmine@...>

8 messages 2012/08/14

[#47243] [ruby-trunk - Feature #6895][Open] TracePoint API — "ko1 (Koichi Sasada)" <redmine@...>

27 messages 2012/08/20

[#47267] [ruby-trunk - Bug #6903][Open] [[Ruby 1.9:]] --enable-load-relative broken on systems with /lib64 — "mpapis (Michal Papis)" <mpapis@...>

11 messages 2012/08/22

[#47309] [ruby-trunk - Bug #6929][Open] Documentation for Ripper — "zzak (Zachary Scott)" <zachary@...>

16 messages 2012/08/25

[#47345] [ruby-trunk - Feature #6946][Open] FIPS support? — "vo.x (Vit Ondruch)" <v.ondruch@...>

35 messages 2012/08/28

[ruby-core:47314] [ruby-trunk - Bug #6935] TestEtc#test_getgrgid on OSX

From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2012-08-26 17:34:14 UTC
List: ruby-core #47314
Issue #6935 has been updated by nobu (Nobuyoshi Nakada).


No unixen systems guarantees that GID is unique.
Please commit it.
----------------------------------------
Bug #6935: TestEtc#test_getgrgid on OSX
https://bugs.ruby-lang.org/issues/6935#change-29051

Author: h.shirosaki (Hiroshi Shirosaki)
Status: Open
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: ext
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-25 trunk 36821) [x86_64-darwin12.0.0]


=begin
I saw similar issue as #6831. Is GID also not unique on OSX?


 [ 69/110] TestEtc#test_getgrgid = 0.02 s                           
   1) Failure:
 test_getgrgid(TestEtc) [/Users/hiroshi/src/ruby/test/etc/test_etc.rb:84]:
 <#<struct Struct::Group name="_pcastagent", passwd="*", gid=101, mem=[]>> expected but was
 <#<struct Struct::Group
  name="com.apple.sharepoint.group.1",
  passwd="*",
  gid=101,
  mem=["hiroshi"]>>.


I confirmed this patch fixes the failure.


 diff --git a/test/etc/test_etc.rb b/test/etc/test_etc.rb
 index 5bc8db4..c105122 100644
 --- a/test/etc/test_etc.rb
 +++ b/test/etc/test_etc.rb
 @@ -76,13 +76,18 @@ class TestEtc < Test::Unit::TestCase
    end
  
    def test_getgrgid
 -    groups = {}
 -    Etc.group do |s|
 -      groups[s.gid] ||= s
 +    # group database is not unique on GID, and which entry will be
 +    # returned by getgrgid() is not specified.
 +    groups = Hash.new {[]}
 +    # on MacOSX, same entries are returned from /etc/group and Open
 +    # Directory.
 +    Etc.group {|s| groups[s.gid] |= [s]}
 +    groups.each_pair do |gid, s|
 +      assert_include(s, Etc.getgrgid(gid))
      end
 -    groups.each_value do |s|
 -      assert_equal(s, Etc.getgrgid(s.gid))
 -      assert_equal(s, Etc.getgrgid) if Process.egid == s.gid
 +    s = groups[Process.egid]
 +    unless s.empty?
 +      assert_include(s, Etc.getgrgid)
      end
    end
  
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next