


---------------------------------------
| testing CLOCK MONOTONIC
---------------------------------------

relative timer test (at 500 ms) ...
waiting timer ...
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
got timer ticks (1) after 0.5 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
	it_value = 0.1 it_interval = 0.1
sleeping 1 second ...
waiting timer ...
got about 20 timer ticks after about 2s
O_NONBLOCK test ...
waiting timer (flush the single tick) ...
got timer ticks (1) after 0.1 s
success


---------------------------------------
| testing CLOCK REALTIME
---------------------------------------

relative timer test (at 500 ms) ...
waiting timer ...
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
got timer ticks (1) after 0.5 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
	it_value = 0.1 it_interval = 0.1
sleeping 1 second ...
waiting timer ...
got about 20 timer ticks after about 2s
O_NONBLOCK test ...
waiting timer (flush the single tick) ...
got timer ticks (1) after 0.1 s
success

HEAP SUMMARY:
    in use at exit: 0 bytes in 0 blocks
  total heap usage: 0 allocs, 0 frees, 0 bytes allocated

For a detailed leak analysis, rerun with: --leak-check=full

For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
