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