Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
test
util
time.h
Go to the documentation of this file.
1
// Copyright (c) The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_TEST_UTIL_TIME_H
6
#define BITCOIN_TEST_UTIL_TIME_H
7
8
#include <
util/check.h
>
9
#include <util/time.h>
10
11
14
class
SteadyClockContext
15
{
16
MockableSteadyClock::mock_time_point::duration
t
{
MockableSteadyClock::INITIAL_MOCK_TIME
};
17
18
public
:
20
explicit
SteadyClockContext
() { (*this) += 0s; }
21
23
~SteadyClockContext
() {
MockableSteadyClock::ClearMockTime
(); }
24
25
SteadyClockContext
(
const
SteadyClockContext
&) =
delete
;
26
SteadyClockContext
&
operator=
(
const
SteadyClockContext
&) =
delete
;
27
29
void
operator+=
(std::chrono::milliseconds d)
30
{
31
Assert
(d >= 0s);
// Steady time can only increase monotonically.
32
t
+= d;
33
MockableSteadyClock::SetMockTime
(
t
);
34
}
35
};
36
37
#endif
// BITCOIN_TEST_UTIL_TIME_H
check.h
Assert
#define Assert(val)
Identity function.
Definition
check.h:113
SteadyClockContext::~SteadyClockContext
~SteadyClockContext()
Unset mocktime.
Definition
time.h:23
SteadyClockContext::t
MockableSteadyClock::mock_time_point::duration t
Definition
time.h:16
SteadyClockContext::operator=
SteadyClockContext & operator=(const SteadyClockContext &)=delete
SteadyClockContext::operator+=
void operator+=(std::chrono::milliseconds d)
Change mocktime by the given duration delta.
Definition
time.h:29
SteadyClockContext::SteadyClockContext
SteadyClockContext(const SteadyClockContext &)=delete
SteadyClockContext::SteadyClockContext
SteadyClockContext()
Initialize with INITIAL_MOCK_TIME.
Definition
time.h:20
MockableSteadyClock::SetMockTime
static void SetMockTime(mock_time_point::duration mock_time_in)
Set mock time for testing.
Definition
time.cpp:70
MockableSteadyClock::INITIAL_MOCK_TIME
static constexpr mock_time_point::duration INITIAL_MOCK_TIME
Definition
time.h:42
MockableSteadyClock::ClearMockTime
static void ClearMockTime()
Clear mock time, go back to system steady clock.
Definition
time.cpp:76
Generated on
for Bitcoin Core by
1.17.0