// License: Apache 2.0. See LICENSE file in root directory. // Copyright(c) 2020 Intel Corporation. All Rights Reserved. //#cmake:dependencies rsutils // Unit Test Goals: // Test the timer utility classes: stopwatch, timer, periodic_timer. #include "common.h" #include using namespace rsutils::time; // Test description: // Verify the timer expired and restart itself TEST_CASE( "Test periodic time expiration", "[periodic_timer]" ) { periodic_timer pt(TEST_DELTA_TIME); for (auto i = 0; i < 5; ++i) { CHECK_FALSE(pt); std::this_thread::sleep_for(TEST_DELTA_TIME); CHECK(pt); } CHECK_FALSE(pt); } // Test description: // Verify the we can force the time expiration TEST_CASE("Test force time expiration", "[periodic_timer]") { periodic_timer pt(TEST_DELTA_TIME); CHECK_FALSE(pt); pt.set_expired(); CHECK(pt); }