mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
0f8a433cab
This sometimes crashes mspec worker like https://ci.appveyor.com/project/ruby/ruby/build/9806/job/37tx2atojy96227m and it doesn't generate helpful output and it seems hard to fix it soon. As AppVeyor is too unstable by too many factors, let me skip this at least for a short term. until AppVeyor gets stable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
38 lines
932 B
Ruby
38 lines
932 B
Ruby
require_relative '../../spec_helper'
|
|
require_relative 'fixtures/classes'
|
|
|
|
describe "ThreadGroup#add" do
|
|
before :each do
|
|
@chan1,@chan2 = Channel.new,Channel.new
|
|
@thread = Thread.new { @chan1 << :go; @chan2.receive }
|
|
@chan1.receive
|
|
end
|
|
|
|
after :each do
|
|
@chan2 << :done
|
|
@thread.join
|
|
end
|
|
|
|
platform_is_not :mingw do
|
|
it "adds the given thread to a group and returns self" do
|
|
@thread.group.should_not == nil
|
|
|
|
tg = ThreadGroup.new
|
|
tg.add(@thread).should == tg
|
|
@thread.group.should == tg
|
|
tg.list.include?(@thread).should == true
|
|
end
|
|
|
|
it "removes itself from any other threadgroup" do
|
|
tg1 = ThreadGroup.new
|
|
tg2 = ThreadGroup.new
|
|
|
|
tg1.add(@thread)
|
|
@thread.group.should == tg1
|
|
tg2.add(@thread)
|
|
@thread.group.should == tg2
|
|
tg2.list.include?(@thread).should == true
|
|
tg1.list.include?(@thread).should == false
|
|
end
|
|
end
|
|
end
|