require_relative '../../spec_helper' require_relative 'fixtures/classes' describe "Thread.current" do it "returns a thread" do current = Thread.current current.should be_kind_of(Thread) end it "returns the current thread" do t = Thread.new { Thread.current } t.value.should equal(t) Thread.current.should_not equal(t.value) end it "returns the correct thread in a Fiber" do # This catches a bug where Fibers are running on a thread-pool # and Fibers from a different Ruby Thread reuse the same native thread. # Caching the Ruby Thread based on the native thread is not correct in that case. 2.times do t = Thread.new { cur = Thread.current Fiber.new { Thread.current }.resume.should equal cur cur } t.value.should equal t end end end value='ruby_1_8_5'>ruby_1_8_5 The Ruby Programming Language
summaryrefslogtreecommitdiff
path: root/spec/ruby/library/observer
AgeCommit message (Collapse)Author
2019-07-27Update to ruby/spec@875a09eBenoit Daloze
2018-03-04Update to ruby/spec@c1b568beregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-20Move spec/rubyspec to spec/ruby for consistencyeregon
* Other ruby implementations use the spec/ruby directory. [Misc #13792] [ruby-core:82287] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e