From ac3d88fc043d628979675dc3ef99ba5e1b4d58ca Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Thu, 4 Sep 2025 02:06:20 +0800 Subject: Add unix event loop. --- test/base/platform/unix/EventLoopTest.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/base/platform/unix/EventLoopTest.cpp (limited to 'test/base/platform/unix/EventLoopTest.cpp') diff --git a/test/base/platform/unix/EventLoopTest.cpp b/test/base/platform/unix/EventLoopTest.cpp new file mode 100644 index 00000000..f5936b2a --- /dev/null +++ b/test/base/platform/unix/EventLoopTest.cpp @@ -0,0 +1,24 @@ +#include "cru/base/platform/unix/EventLoop.h" + +#include + +#include +#include + +TEST_CASE("UnixTimerFile Work", "[unix][time]") { + using namespace cru; + using namespace cru::platform::unix; + + auto test_miliseconds = 300; + auto test_duration = std::chrono::milliseconds(test_miliseconds); + auto start = std::chrono::steady_clock::now(); + REQUIRE((std::chrono::steady_clock::now() - start) < test_duration); + + UnixTimerFile timer(test_duration); + + struct pollfd fds[1]; + fds[0].fd = timer.GetReadFd(); + fds[0].events = POLLIN; + REQUIRE(::poll(fds, 1, test_miliseconds * 2) == 1); + REQUIRE((std::chrono::steady_clock::now() - start) > test_duration); +} -- cgit v1.2.3