diff options
Diffstat (limited to 'spec/ruby/core/process/setpgid_spec.rb')
| -rw-r--r-- | spec/ruby/core/process/setpgid_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/ruby/core/process/setpgid_spec.rb b/spec/ruby/core/process/setpgid_spec.rb new file mode 100644 index 0000000000..be724e9007 --- /dev/null +++ b/spec/ruby/core/process/setpgid_spec.rb @@ -0,0 +1,29 @@ +require_relative '../../spec_helper' + +describe "Process.setpgid" do + platform_is_not :windows do + # Must use fork as setpgid(2) gives EACCESS after execve() + it "sets the process group id of the specified process" do + rd, wr = IO.pipe + + pid = Process.fork do + wr.close + rd.read + rd.close + Process.exit! + end + + rd.close + + begin + Process.getpgid(pid).should == Process.getpgrp + Process.setpgid(mock_int(pid), mock_int(pid)).should == 0 + Process.getpgid(pid).should == pid + ensure + wr.write ' ' + wr.close + Process.wait pid + end + end + end +end |
