From 406e089a7478a34b74e6fa4e33490a31e32e9a91 Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Tue, 28 May 2013 09:01:27 -0400 Subject: Add test for raise on resume after fiber is dead --- mrbgems/mruby-fiber/test/fiber.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mrbgems/mruby-fiber/test/fiber.rb b/mrbgems/mruby-fiber/test/fiber.rb index fc3e02e88..6df745d79 100644 --- a/mrbgems/mruby-fiber/test/fiber.rb +++ b/mrbgems/mruby-fiber/test/fiber.rb @@ -40,3 +40,17 @@ assert('Fiber iteration') { assert('Fiber with splat in the block argument list') { Fiber.new{|*x|x}.resume(1) == [1] } + +assert('Fiber raises on resume when dead') { + e2 = nil + r1 = true + begin + f = Fiber.new{} + f.resume + r1 = f.alive? + f.resume + rescue => e1 + e2 = e1 + end + r1 == false and e2.class == RuntimeError +} -- cgit v1.2.3 From 35b58e571da25315e39d77453a7e0712ece3473f Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Tue, 28 May 2013 09:04:53 -0400 Subject: Test for raise when yield is called on root fiber --- mrbgems/mruby-fiber/test/fiber.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mrbgems/mruby-fiber/test/fiber.rb b/mrbgems/mruby-fiber/test/fiber.rb index 6df745d79..90bbaa2af 100644 --- a/mrbgems/mruby-fiber/test/fiber.rb +++ b/mrbgems/mruby-fiber/test/fiber.rb @@ -54,3 +54,13 @@ assert('Fiber raises on resume when dead') { end r1 == false and e2.class == RuntimeError } + +assert('Yield raises when called on root fiber') { + e2 = nil + begin + Fiber.yield + rescue => e1 + e2 = e1 + end + e2.class == ArgumentError +} -- cgit v1.2.3