mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

* For easier modifications of ruby/spec by MRI developers. * .gitignore: track changes under spec. * spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec. These files can therefore be updated like any other file in MRI. Instructions are provided in spec/README. [Feature #13156] [ruby-core:79246] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
29 lines
886 B
Ruby
29 lines
886 B
Ruby
require File.expand_path('../../../spec_helper', __FILE__)
|
|
|
|
describe "Process.wait2" do
|
|
before :all do
|
|
# HACK: this kludge is temporarily necessary because some
|
|
# misbehaving spec somewhere else does not clear processes
|
|
begin
|
|
leaked = Process.waitall
|
|
puts "leaked before wait2 specs: #{leaked}" unless leaked.empty?
|
|
rescue NotImplementedError
|
|
end
|
|
end
|
|
|
|
platform_is_not :windows do
|
|
it "returns the pid and status of child process" do
|
|
pidf = Process.fork { Process.exit! 99 }
|
|
results = Process.wait2
|
|
results.size.should == 2
|
|
pidw, status = results
|
|
pidf.should == pidw
|
|
status.exitstatus.should == 99
|
|
end
|
|
end
|
|
|
|
it "raises a StandardError if no child processes exist" do
|
|
lambda { Process.wait2 }.should raise_error(Errno::ECHILD)
|
|
lambda { Process.wait2 }.should raise_error(StandardError)
|
|
end
|
|
end
|