Skip to content

Commit

Permalink
[GR-18163] Add Fiber#raise spec to assert returning to the parent fiber
Browse files Browse the repository at this point in the history
PullRequest: truffleruby/2624
  • Loading branch information
eregon committed May 3, 2021
2 parents da4f549 + 8085541 commit 482320f
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions spec/ruby/core/fiber/raise_spec.rb
Expand Up @@ -72,6 +72,26 @@
-> { fiber.raise }.should raise_error
-> { fiber.resume }.should raise_error(FiberError, /dead fiber called|attempt to resume a terminated fiber/)
end

it "returns to calling fiber after raise" do
fiber_one = Fiber.new do
Fiber.yield :yield_one
:unreachable
end

fiber_two = Fiber.new do
results = []
results << fiber_one.resume
begin
fiber_one.raise
rescue
results << :rescued
end
results
end

fiber_two.resume.should == [:yield_one, :rescued]
end
end

end
Expand Down

0 comments on commit 482320f

Please sign in to comment.