diff options
Diffstat (limited to 'spec/ruby/core/process/uid_spec.rb')
-rw-r--r-- | spec/ruby/core/process/uid_spec.rb | 55 |
1 files changed, 14 insertions, 41 deletions
diff --git a/spec/ruby/core/process/uid_spec.rb b/spec/ruby/core/process/uid_spec.rb index 4a66beaa2a..350779aff3 100644 --- a/spec/ruby/core/process/uid_spec.rb +++ b/spec/ruby/core/process/uid_spec.rb @@ -18,7 +18,6 @@ describe "Process.uid" do end describe "Process.uid=" do - platform_is_not :windows do it "raises TypeError if not passed an Integer" do lambda { Process.uid = Object.new }.should raise_error(TypeError) @@ -36,49 +35,23 @@ describe "Process.uid=" do as_superuser do describe "if run by a superuser" do - with_feature :fork do - it "sets the real user id for the current process" do - read, write = IO.pipe - pid = Process.fork do - begin - read.close - Process.uid = 1 - write << Process.uid - write.close - rescue Exception => e - write << e << e.backtrace - end - Process.exit! - end - write.close - uid = read.gets - uid.should == "1" - Process.wait pid - end + it "sets the real user id for the current process" do + code = <<-RUBY + Process.uid = 1 + puts Process.uid + RUBY + ruby_exe(code).should == "1\n" + end - it "sets the real user id if preceded by Process.euid=id" do - read, write = IO.pipe - pid = Process.fork do - begin - read.close - Process.euid = 1 - Process.uid = 1 - write << Process.uid - write.close - rescue Exception => e - write << e << e.backtrace - end - Process.exit! - end - write.close - uid = read.gets - uid.should == "1" - Process.wait pid - end + it "sets the real user id if preceded by Process.euid=id" do + code = <<-RUBY + Process.euid = 1 + Process.uid = 1 + puts Process.uid + RUBY + ruby_exe(code).should == "1\n" end end end end - - it "needs to be reviewed for spec completeness" end |