Sha256: 582d2b497c84726f6ec82057f6275773acc0a907d682836cf3dfb5e9cbb4ed9f
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true require 'bundler/setup' require 'minitest/autorun' require 'minitest/reporters' require 'libev_scheduler' class TestFiberIO < MiniTest::Test MESSAGE = "Hello World" def test_read i, o = IO.pipe message = nil thread = Thread.new do scheduler = Libev::Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do message = i.read(20) i.close end Fiber.schedule do o.write("Hello World") o.close end end thread.join assert_equal MESSAGE, message assert_predicate(i, :closed?) assert_predicate(o, :closed?) end def test_heavy_read 16.times.map do Thread.new do i, o = IO.pipe scheduler = Libev::Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do i.read(20) i.close end Fiber.schedule do o.write("Hello World") o.close end end end.each(&:join) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
libev_scheduler-0.2 | test/test_io.rb |
libev_scheduler-0.1 | test/test_io.rb |