Sha256: ab250f86f546440fd387455cefaacce3983cc4eb843eacc39f4f35e98e1f32c0

Contents?: true

Size: 1.25 KB

Versions: 52

Compression:

Stored size: 1.25 KB

Contents

require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper'

describe "Process.groups" do
  platform_is_not :windows do
    it "takes no arguments" do
      lambda { Process.groups(1) }.should raise_error(ArgumentError)
    end

    it "gets an Array of the gids of groups in the supplemental group access list" do
      groups = `id -G`.scan(/\d+/).map {|i| i.to_i}

      # NOTE: if/when this fails, make sure you are running in the most
      # basic environment you have available. This spec fails
      # consistently on me (Ryan Davis) when I'm running the specs
      # inside a shell inside emacs that was launched by OSX's
      # windowserver (double click in finder or quicksilver/launchbar
      # etc). When run any other way the spec passes.
      Process.groups.uniq.sort.should == groups.uniq.sort
    end

    # NOTE: This is kind of sketchy.
    it "sets the list of gids of groups in the supplemental group access list" do
      groups = Process.groups
      if Process.uid == 0
        Process.groups = []
        Process.groups.should == []
        Process.groups = groups
        Process.groups.sort.should == groups.sort
      else
        lambda { Process.groups = [] }.should raise_error(Errno::EPERM)
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
rhodes-2.3.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.2.beta.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.2.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.1.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.0 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.0.beta.3 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.0.beta.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.3.0.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.6 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.6.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.5 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.5.beta.3 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.5.beta.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.5.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.4.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.3 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.3.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-2.2.2.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb