aboutsummaryrefslogtreecommitdiffstats
path: root/test/fiber/test_scheduler.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/fiber/test_scheduler.rb')
-rw-r--r--test/fiber/test_scheduler.rb26
1 files changed, 21 insertions, 5 deletions
diff --git a/test/fiber/test_scheduler.rb b/test/fiber/test_scheduler.rb
index f38b650846..72bde9fcc3 100644
--- a/test/fiber/test_scheduler.rb
+++ b/test/fiber/test_scheduler.rb
@@ -11,11 +11,27 @@ class TestFiberScheduler < Test::Unit::TestCase
end
end
+ def test_fiber_new
+ f = Fiber.new{}
+ refute f.blocking?
+ end
+
+ def test_fiber_new_with_options
+ f = Fiber.new(blocking: true){}
+ assert f.blocking?
+
+ f = Fiber.new(blocking: false){}
+ refute f.blocking?
+
+ f = Fiber.new(pool: nil){}
+ refute f.blocking?
+ end
+
def test_closed_at_thread_exit
scheduler = Scheduler.new
thread = Thread.new do
- Thread.current.scheduler = scheduler
+ Fiber.set_scheduler scheduler
end
thread.join
@@ -27,8 +43,8 @@ class TestFiberScheduler < Test::Unit::TestCase
scheduler = Scheduler.new
thread = Thread.new do
- Thread.current.scheduler = scheduler
- Thread.current.scheduler = nil
+ Fiber.set_scheduler scheduler
+ Fiber.set_scheduler nil
assert scheduler.closed?
end
@@ -41,7 +57,7 @@ class TestFiberScheduler < Test::Unit::TestCase
require 'scheduler'
scheduler = Scheduler.new
- Thread.current.scheduler = scheduler
+ Fiber.set_scheduler scheduler
Fiber.schedule do
sleep(0)
@@ -52,7 +68,7 @@ class TestFiberScheduler < Test::Unit::TestCase
def test_optional_close
thread = Thread.new do
- Thread.current.scheduler = Object.new
+ Fiber.set_scheduler Object.new
end
thread.join