mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-14 13:50:34 +02:00
test: Check that wait_until returns if time point is in the past
This commit is contained in:
parent
3516a31eaa
commit
fab7d14ea5
@ -98,6 +98,24 @@ BOOST_AUTO_TEST_CASE(manythreads)
|
||||
BOOST_CHECK_EQUAL(counterSum, 200);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(wait_until_past)
|
||||
{
|
||||
std::condition_variable condvar;
|
||||
Mutex mtx;
|
||||
WAIT_LOCK(mtx, lock);
|
||||
|
||||
const auto no_wait= [&](const std::chrono::seconds& d) {
|
||||
return condvar.wait_until(lock, std::chrono::system_clock::now() - d);
|
||||
};
|
||||
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::seconds{1}));
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::minutes{1}));
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::hours{1}));
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::hours{10}));
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::hours{100}));
|
||||
BOOST_CHECK(std::cv_status::timeout == no_wait(std::chrono::hours{1000}));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(singlethreadedscheduler_ordered)
|
||||
{
|
||||
CScheduler scheduler;
|
||||
|
Loading…
x
Reference in New Issue
Block a user