Sha256: a43c2240f90433df1e9115e95d34c15a9bc414fac8e94cf36c5a3323ba17f40c

Contents?: true

Size: 1.32 KB

Versions: 31

Compression:

Stored size: 1.32 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

    platform_is_not :android, :darwin do
      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
    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

31 entries across 31 versions & 1 rubygems

Version Path
rhodes-3.1.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.1.beta spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0.beta.5 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0.beta.4 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0.beta.3 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0.beta.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.1.0.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.2.beta.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.8 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.7 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.6 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.5 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.4 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.3 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.1.beta.2 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.0 spec/framework_spec/app/spec/core/process/groups_spec.rb
rhodes-3.0.0.beta.7 spec/framework_spec/app/spec/core/process/groups_spec.rb