diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-16 03:07:41 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-16 03:07:41 +0000 |
commit | ee56b1655250ce36d2ca40d174ea244437265602 (patch) | |
tree | 7b4a5b49e4ccf53034251634d58f5d84ee9e5fa3 /test | |
parent | 802578a3b1701f351da7aeed7d6d0045a9122afb (diff) |
merges r27713 and r27715 from trunk into ruby_1_9_2.
--
* cont.c (fiber_switch): raise FiberError when returning to dead
fiber. [ruby-dev:40833]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_fiber.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/ruby/test_fiber.rb b/test/ruby/test_fiber.rb index e6afe55b96..edfe55a1d3 100644 --- a/test/ruby/test_fiber.rb +++ b/test/ruby/test_fiber.rb @@ -1,6 +1,7 @@ require 'test/unit' require 'fiber' require 'continuation' +require_relative './envutil' class TestFiber < Test::Unit::TestCase def test_normal @@ -178,5 +179,15 @@ class TestFiber < Test::Unit::TestCase f = Fiber.new {f.resume} assert_raise(FiberError, '[ruby-core:23651]') {f.transfer} end + + def test_fiber_transfer_segv + assert_normal_exit %q{ + require 'fiber' + f2 = nil + f1 = Fiber.new{ f2.resume } + f2 = Fiber.new{ f1.resume } + f1.transfer + }, '[ruby-dev:40833]' + end end |