From fc1f3f14d386b557281ff9a8f19da060befe182e Mon Sep 17 00:00:00 2001 From: eregon Date: Wed, 27 Jun 2018 11:37:31 +0000 Subject: Update to ruby/spec@41068a6 * Only small fixes to specs from CRuby to review the diff more easily. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/library/etc/getgrgid_spec.rb | 94 +++++++++++++++++----------------- 1 file changed, 48 insertions(+), 46 deletions(-) (limited to 'spec/ruby/library/etc/getgrgid_spec.rb') diff --git a/spec/ruby/library/etc/getgrgid_spec.rb b/spec/ruby/library/etc/getgrgid_spec.rb index ff07d49016..04758912b3 100644 --- a/spec/ruby/library/etc/getgrgid_spec.rb +++ b/spec/ruby/library/etc/getgrgid_spec.rb @@ -13,62 +13,64 @@ end # TODO: verify these on non-windows, non-darwin OS platform_is_not :windows do - grpname = IO.popen(%w'id -gn', err: IO::NULL, &:read) - next unless $?.success? - grpname.chomp! + grpname = nil + guard -> { + grpname = IO.popen(%w'id -gn', err: IO::NULL, &:read).chomp + $?.success? + } do + describe "Etc.getgrgid" do + before :all do + @gid = `id -g`.strip.to_i + @name = grpname + end - describe "Etc.getgrgid" do - before :all do - @gid = `id -g`.strip.to_i - @name = grpname - end + it "returns a Etc::Group struct instance for the given user" do + gr = Etc.getgrgid(@gid) - it "returns a Etc::Group struct instance for the given user" do - gr = Etc.getgrgid(@gid) + gr.is_a?(Etc::Group).should == true + gr.gid.should == @gid + gr.name.should == @name + end - gr.is_a?(Etc::Group).should == true - gr.gid.should == @gid - gr.name.should == @name - end + it "returns the Etc::Group for a given gid if it exists" do + grp = Etc.getgrgid(@gid) + grp.should be_kind_of(Etc::Group) + grp.gid.should == @gid + grp.name.should == @name + end - it "returns the Etc::Group for a given gid if it exists" do - grp = Etc.getgrgid(@gid) - grp.should be_kind_of(Etc::Group) - grp.gid.should == @gid - grp.name.should == @name - end + it "uses Process.gid as the default value for the argument" do + gr = Etc.getgrgid - it "uses Process.gid as the default value for the argument" do - gr = Etc.getgrgid + gr.gid.should == @gid + gr.name.should == @name + end - gr.gid.should == @gid - gr.name.should == @name - end + it "returns the Group for a given gid if it exists" do + grp = Etc.getgrgid(@gid) + grp.should be_kind_of(Struct::Group) + grp.gid.should == @gid + grp.name.should == @name + end - it "returns the Group for a given gid if it exists" do - grp = Etc.getgrgid(@gid) - grp.should be_kind_of(Struct::Group) - grp.gid.should == @gid - grp.name.should == @name - end - - it "raises if the group does not exist" do - lambda { Etc.getgrgid(9876)}.should raise_error(ArgumentError) - end + it "raises if the group does not exist" do + lambda { Etc.getgrgid(9876)}.should raise_error(ArgumentError) + end - it "raises a TypeError if not passed an Integer" do - lambda { Etc.getgrgid("foo") }.should raise_error(TypeError) - lambda { Etc.getgrgid(nil) }.should raise_error(TypeError) - end + it "raises a TypeError if not passed an Integer" do + lambda { Etc.getgrgid("foo") }.should raise_error(TypeError) + lambda { Etc.getgrgid(nil) }.should raise_error(TypeError) + end - it "can be called safely by multiple threads" do - 20.times.map do - Thread.new do - 100.times do - Etc.getgrgid(@gid).gid.should == @gid + it "can be called safely by multiple threads" do + 20.times.map do + Thread.new do + 100.times do + Etc.getgrgid(@gid).gid.should == @gid + end end - end - end.each(&:join) + end.each(&:join) + end end end end -- cgit v1.2.3