31 #include <gtest/gtest.h>
35 #include <system_error>
54 ASSERT_EQ(ev.
read(), 3);
58 TEST(event_test, nonblocking)
61 Event ev(Event::nonblocking);
64 ASSERT_EQ(ev.
read(), 3);
65 ASSERT_THROW(ev.
read(), std::system_error);
66 ASSERT_EQ(errno, EAGAIN);
70 TEST(event_test, nonblocking_semaphore)
73 Event ev(Event::nonblocking|Event::semaphore);
74 ASSERT_THROW(ev.
read(), std::system_error);
77 ASSERT_EQ(ev.
read(), 1);
78 ASSERT_EQ(ev.
read(), 1);
79 ASSERT_EQ(ev.
read(), 1);
Signaling kernel event counter.
uint64_t read()
Read from (decrement) the event counter.
void write(uint64_t)
Write to (increment) the event counter.
Signaling kernel event counter.
TEST(event_test, blocking)