diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2020-07-28 10:58:37 +0900 |
---|---|---|
committer | Kazuhiro NISHIYAMA <zn@mbf.nifty.com> | 2020-08-31 18:08:57 +0900 |
commit | b674fc9ca2498d55c7e4f91592279eb985b8bea1 (patch) | |
tree | 8a9f31a1f8b035e41e57878d7e9d75b3f6e6ac43 /spec/ruby | |
parent | eb9342d3483babdf47179b84ccc947fc93a40233 (diff) | |
download | ruby-b674fc9ca2498d55c7e4f91592279eb985b8bea1.tar.gz |
Thread.exclusive: delete
Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8.
[Feature #17125][ruby-core:99636]
Diffstat (limited to 'spec/ruby')
-rw-r--r-- | spec/ruby/core/thread/exclusive_spec.rb | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/spec/ruby/core/thread/exclusive_spec.rb b/spec/ruby/core/thread/exclusive_spec.rb index ca8f105da4..8c2bc0e82a 100644 --- a/spec/ruby/core/thread/exclusive_spec.rb +++ b/spec/ruby/core/thread/exclusive_spec.rb @@ -1,47 +1,49 @@ require_relative '../../spec_helper' -describe "Thread.exclusive" do - before :each do - ScratchPad.clear - $VERBOSE, @verbose = nil, $VERBOSE - end +ruby_version_is ''...'2.8' do + describe "Thread.exclusive" do + before :each do + ScratchPad.clear + $VERBOSE, @verbose = nil, $VERBOSE + end - after :each do - $VERBOSE = @verbose - end + after :each do + $VERBOSE = @verbose + end - it "yields to the block" do - Thread.exclusive { ScratchPad.record true } - ScratchPad.recorded.should == true - end + it "yields to the block" do + Thread.exclusive { ScratchPad.record true } + ScratchPad.recorded.should == true + end - it "returns the result of yielding" do - Thread.exclusive { :result }.should == :result - end + it "returns the result of yielding" do + Thread.exclusive { :result }.should == :result + end - it "blocks the caller if another thread is also in an exclusive block" do - m = Mutex.new - q1 = Queue.new - q2 = Queue.new + it "blocks the caller if another thread is also in an exclusive block" do + m = Mutex.new + q1 = Queue.new + q2 = Queue.new - t = Thread.new { - Thread.exclusive { - q1.push :ready - q2.pop + t = Thread.new { + Thread.exclusive { + q1.push :ready + q2.pop + } } - } - q1.pop.should == :ready + q1.pop.should == :ready - -> { Thread.exclusive { } }.should block_caller + -> { Thread.exclusive { } }.should block_caller - q2.push :done - t.join - end + q2.push :done + t.join + end - it "is not recursive" do - Thread.exclusive do - -> { Thread.exclusive { } }.should raise_error(ThreadError) + it "is not recursive" do + Thread.exclusive do + -> { Thread.exclusive { } }.should raise_error(ThreadError) + end end end end |