diff options
Diffstat (limited to 'spec/rubyspec/core/process/euid_spec.rb')
| -rw-r--r-- | spec/rubyspec/core/process/euid_spec.rb | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/spec/rubyspec/core/process/euid_spec.rb b/spec/rubyspec/core/process/euid_spec.rb deleted file mode 100644 index 1855ef66f5..0000000000 --- a/spec/rubyspec/core/process/euid_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -require File.expand_path('../../../spec_helper', __FILE__) - -describe "Process.euid" do - it "returns the effective user ID for this process" do - Process.euid.should be_kind_of(Fixnum) - end - - it "also goes by Process::UID.eid" do - Process::UID.eid.should == Process.euid - end - - it "also goes by Process::Sys.geteuid" do - Process::Sys.geteuid.should == Process.euid - end -end - -describe "Process.euid=" do - - platform_is_not :windows do - it "raises TypeError if not passed an Integer" do - lambda { Process.euid = Object.new }.should raise_error(TypeError) - end - - as_user do - it "raises Errno::ERPERM if run by a non superuser trying to set the superuser id" do - lambda { (Process.euid = 0)}.should raise_error(Errno::EPERM) - end - - it "raises Errno::ERPERM if run by a non superuser trying to set the superuser id from username" do - lambda { Process.euid = "root" }.should raise_error(Errno::EPERM) - end - end - - as_superuser do - describe "if run by a superuser" do - with_feature :fork do - it "sets the effective user id for the current process if run by a superuser" do - read, write = IO.pipe - pid = Process.fork do - begin - read.close - Process.euid = 1 - write << Process.euid - write.close - rescue Exception => e - write << e << e.backtrace - end - Process.exit! - end - write.close - euid = read.gets - euid.should == "1" - Process.wait pid - end - end - end - end - end -end |
