summaryrefslogtreecommitdiff
path: root/spec/ruby/core/process/last_status_spec.rb
blob: 2372f2aae3bb0b98bca0c7f1ef1c1da8bf114589 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../../spec_helper'

describe 'Process#last_status' do
  it 'returns the status of the last executed child process in the current thread' do
    pid = Process.wait Process.spawn("exit 0")
    Process.last_status.pid.should == pid
  end

  it 'returns nil if no child process has been ever executed in the current thread' do
    Thread.new do
      Process.last_status.should == nil
    end.join
  end

  it 'raises an ArgumentError if any arguments are provided' do
    -> { Process.last_status(1) }.should raise_error(ArgumentError)
  end
end