1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
This commit is contained in:
Benoit Daloze 2019-07-27 12:40:09 +02:00
parent a06301b103
commit 5c276e1cc9
1247 changed files with 5316 additions and 5028 deletions

View file

@ -1,15 +1,14 @@
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
@q1, @q2 = Queue.new, Queue.new
@thread = Thread.new { @q1 << :go; @q2.pop }
@q1.pop
end
after :each do
@chan2 << :done
@q2 << :done
@thread.join
end

View file

@ -1,15 +1,14 @@
require_relative '../../spec_helper'
require_relative 'fixtures/classes'
describe "ThreadGroup#enclose" do
before :each do
@chan1,@chan2 = Channel.new,Channel.new
@thread = Thread.new { @chan1 << :go; @chan2.receive }
@chan1.receive
@q1, @q2 = Queue.new, Queue.new
@thread = Thread.new { @q1 << :go; @q2.pop }
@q1.pop
end
after :each do
@chan2 << :done
@q2 << :done
@thread.join
end
@ -18,7 +17,7 @@ describe "ThreadGroup#enclose" do
default_group = @thread.group
thread_group.add(@thread)
thread_group.enclose
lambda do
-> do
default_group.add(@thread)
end.should raise_error(ThreadError)
end

View file

@ -1,6 +0,0 @@
unless defined? Channel
require 'thread'
class Channel < Queue
alias receive shift
end
end

View file

@ -1,17 +1,16 @@
require_relative '../../spec_helper'
require_relative 'fixtures/classes'
describe "ThreadGroup#list" do
it "returns the list of threads in the group" do
chan = Channel.new
th1 = Thread.new { chan << :go; sleep }
chan.receive.should == :go
q = Queue.new
th1 = Thread.new { q << :go; sleep }
q.pop.should == :go
tg = ThreadGroup.new
tg.add(th1)
tg.list.should include(th1)
th2 = Thread.new { chan << :go; sleep }
chan.receive.should == :go
th2 = Thread.new { q << :go; sleep }
q.pop.should == :go
tg.add(th2)
(tg.list & [th1, th2]).should include(th1, th2)