Sha256: cc1ae4f69b93fdf92c3e2da73bb497f5d564373f6d32c0ed2c260d579b75938a
Contents?: true
Size: 1000 Bytes
Versions: 2
Compression:
Stored size: 1000 Bytes
Contents
# frozen_string_literal: true require 'bundler/setup' require 'minitest/autorun' require 'minitest/reporters' require 'libev_scheduler' class TestFiberSleep < MiniTest::Test ITEMS = [0, 1, 2, 3, 4] def setup sleep 0.1 end def test_sleep items = [] thread = Thread.new do scheduler = Libev::Scheduler.new Fiber.set_scheduler scheduler 5.times do |i| Fiber.schedule do assert_operator sleep(i/100.0), :>=, 0 items << i end end end thread.join assert_equal ITEMS, items end def test_sleep_returns_seconds_slept seconds = nil t0 = Time.now thread = Thread.new do scheduler = Libev::Scheduler.new Fiber.set_scheduler scheduler Fiber.schedule do seconds = sleep(1) end end thread.join elapsed = Time.now - t0 assert_operator seconds, :>=, 1.0, "actual: %p" % seconds assert_operator elapsed, :>=, 1.0, "actual: %p" % elapsed end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
libev_scheduler-0.2 | test/test_sleep.rb |
libev_scheduler-0.1 | test/test_sleep.rb |