require_relative '../../../spec_helper' describe "Process::Status#success?" do describe "for a child that exited normally" do before :each do ruby_exe("exit(0)") end it "returns true" do $?.success?.should be_true end end describe "for a child that exited with a non zero status" do before :each do ruby_exe("exit(42)", exit_status: 42) end it "returns false" do $?.success?.should be_false end end describe "for a child that was terminated" do before :each do ruby_exe("Process.kill(:KILL, $$); exit(42)", exit_status: platform_is(:windows) ? 0 : nil) end platform_is_not :windows do it "returns nil" do $?.success?.should be_nil end end platform_is :windows do it "always returns true" do $?.success?.should be_true end end end end