1 #include <sdbusplus/async.hpp> 2 3 #include <chrono> 4 5 #include <gtest/gtest.h> 6 7 using namespace std::literals; 8 9 TEST(Timer, DelaySome) 10 { 11 static constexpr auto timeout = 500ms; 12 13 sdbusplus::async::context ctx; 14 15 auto start = std::chrono::steady_clock::now(); 16 17 ctx.spawn(sdbusplus::async::sleep_for(ctx, timeout) | 18 stdexec::then([&ctx]() { ctx.request_stop(); })); 19 ctx.run(); 20 21 auto stop = std::chrono::steady_clock::now(); 22 23 EXPECT_GT(stop - start, timeout); 24 EXPECT_LT(stop - start, timeout * 3); 25 } 26