You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
912 B

// 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 <rsutils/time/periodic-timer.h>
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);
}