Sha256: 4030fa364ffb2be4441cbbdf275095b178da84e29f5228ecf578f24f28234d0a
Contents?: true
Size: 1.8 KB
Versions: 4
Compression:
Stored size: 1.8 KB
Contents
require 'test/unit' require 'fcntl' $-w = true require 'sleepy_penguin' class TestTimerFD < Test::Unit::TestCase include SleepyPenguin def test_constants assert_kind_of Integer, TimerFD::REALTIME assert_kind_of Integer, TimerFD::MONOTONIC end def test_create tfd = TimerFD.new assert_kind_of(IO, tfd) end def test_create_nonblock tfd = TimerFD.new(TimerFD::REALTIME, TimerFD::NONBLOCK) flags = tfd.fcntl(Fcntl::F_GETFL) & Fcntl::O_NONBLOCK assert_equal(Fcntl::O_NONBLOCK, flags) end if defined?(TimerFD::NONBLOCK) def test_create_nonblock_sym tfd = TimerFD.new(:REALTIME, :NONBLOCK) flags = tfd.fcntl(Fcntl::F_GETFL) & Fcntl::O_NONBLOCK assert_equal(Fcntl::O_NONBLOCK, flags) end if defined?(TimerFD::NONBLOCK) def test_create_cloexec tfd = TimerFD.new(TimerFD::REALTIME, TimerFD::CLOEXEC) flags = tfd.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC assert_equal(Fcntl::FD_CLOEXEC, flags) end if defined?(TimerFD::CLOEXEC) def test_settime tfd = TimerFD.new(TimerFD::REALTIME) assert_equal([0, 0], tfd.settime(TimerFD::ABSTIME, 0, 0.01)) sleep 0.01 assert_equal 1, tfd.expirations end def test_settime_symbol tfd = TimerFD.new(:REALTIME) assert_equal([0, 0], tfd.settime(:ABSTIME, 0, 0.01)) sleep 0.01 assert_equal 1, tfd.expirations end def test_gettime tfd = TimerFD.new :REALTIME now = Time.now.to_i assert_equal([0, 0], tfd.settime(nil, 0, now + 5)) interval, value = tfd.gettime assert_equal 0, interval assert_in_delta now + 5, value, 0.01 end def test_expirations_nonblock tfd = TimerFD.new(:MONOTONIC) assert_equal([0, 0], tfd.settime(0, 0, 0.01)) assert_nil tfd.expirations(true) sleep 0.01 assert_equal 1, tfd.expirations end end if defined?(SleepyPenguin::TimerFD)
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
sleepy_penguin-3.1.0 | test/test_timerfd.rb |
sleepy_penguin-3.0.1 | test/test_timerfd.rb |
sleepy_penguin-3.0.0 | test/test_timerfd.rb |
sleepy_penguin-2.0.0 | test/test_timerfd.rb |