MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_timerfd_ns_TFD_TIMER_ABSTIME

Method test_timerfd_ns_TFD_TIMER_ABSTIME

Lib/test/test_os.py:4569–4595  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

4567
4568
4569 def test_timerfd_ns_TFD_TIMER_ABSTIME(self):
4570 one_sec_in_nsec = 10**9
4571 limit_error = one_sec_in_nsec // 10**3
4572 fd = self.timerfd_create(time.CLOCK_REALTIME)
4573
4574 now_ns = time.clock_gettime_ns(time.CLOCK_REALTIME)
4575
4576 # 1 second later from now.
4577 offset_ns = one_sec_in_nsec
4578 initial_expiration_ns = now_ns + offset_ns
4579 # not interval timer
4580 interval_ns = 0
4581
4582 os.timerfd_settime_ns(fd, flags=os.TFD_TIMER_ABSTIME, initial=initial_expiration_ns, interval=interval_ns)
4583
4584 # timerfd_gettime
4585 # Note: timerfd_gettime returns relative values even if TFD_TIMER_ABSTIME is specified.
4586 next_expiration_ns, interval_ns2 = os.timerfd_gettime_ns(fd)
4587 self.assertLess(abs(interval_ns2 - interval_ns), limit_error)
4588 self.assertLess(abs(next_expiration_ns - offset_ns), limit_error)
4589
4590 t = time.perf_counter_ns()
4591 count_signaled = self.read_count_signaled(fd)
4592 t = time.perf_counter_ns() - t
4593 self.assertEqual(count_signaled, 1)
4594
4595 self.assertGreater(t, offset_ns - self.CLOCK_RES_NS)
4596
4597 def test_timerfd_ns_select(self):
4598 one_sec_in_nsec = 10**9

Callers

nothing calls this directly

Calls 6

timerfd_createMethod · 0.95
read_count_signaledMethod · 0.95
assertGreaterMethod · 0.80
absFunction · 0.50
assertLessMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected