2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
|
|
|
require_relative 'fixtures/classes'
|
|
|
|
require_relative 'shared/exit'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2018-10-12 20:38:15 -04:00
|
|
|
# This spec randomly kills mspec worker like: https://ci.appveyor.com/project/ruby/ruby/builds/19473223/job/f69derxnlo09xhuj
|
|
|
|
# TODO: Investigate the cause or at least print helpful logs, and remove this `platform_is_not` guard.
|
|
|
|
platform_is_not :mingw do
|
|
|
|
describe "Thread#kill" do
|
|
|
|
it_behaves_like :thread_exit, :kill
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2018-10-12 20:38:15 -04:00
|
|
|
describe "Thread#kill!" do
|
|
|
|
it "needs to be reviewed for spec completeness"
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2018-10-12 20:38:15 -04:00
|
|
|
describe "Thread.kill" do
|
|
|
|
it "causes the given thread to exit" do
|
|
|
|
thread = Thread.new { sleep }
|
|
|
|
Thread.pass while thread.status and thread.status != "sleep"
|
|
|
|
Thread.kill(thread).should == thread
|
|
|
|
thread.join
|
|
|
|
thread.status.should be_false
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
end
|