mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-19 12:10:19 +01:00
Merge #18037: Util: Allow scheduler to be mocked
8bca30ea17[rpc] expose ability to mock scheduler via the rpc (Amiti Uttarwar)7c8b6e5b52[lib] add scheduler to node context (Amiti Uttarwar)930d837542[test] add chainparams property to indicate chain allows time mocking (Amiti Uttarwar)1cd43e83c6[test] unit test for new MockForward scheduler method (Amiti Uttarwar)a6f63598ad[util] allow scheduler to be mocked (Amiti Uttarwar) Pull request description: This PR is to support functional tests by allowing the scheduler to be mocked via the RPC. It adds a `MockForward` method to the scheduler class that iterates through the task queue and reschedules them to be `delta_seconds` sooner. This is currently used to support functional testing of the "unbroadcast" set tracking in #18038. If this patch is accepted, it would also be useful to simplify the code in #16698. ACKs for top commit: MarcoFalke: ACK8bca30ea17, only change is some style fixups 🕓 Tree-SHA512: 2a97fe8ade2b7fd1fb5cdfa1dcafb3227a377d7a847e3845a228bc119eb77824b4aefa43d922a06d583939b22725e223f308cf092961048079d36f6b1d9a639b
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <interfaces/chain.h>
|
||||
#include <net.h>
|
||||
#include <net_processing.h>
|
||||
#include <scheduler.h>
|
||||
|
||||
NodeContext::NodeContext() {}
|
||||
NodeContext::~NodeContext() {}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
class BanMan;
|
||||
class CConnman;
|
||||
class CScheduler;
|
||||
class CTxMemPool;
|
||||
class PeerLogicValidation;
|
||||
namespace interfaces {
|
||||
@@ -34,6 +35,7 @@ struct NodeContext {
|
||||
std::unique_ptr<BanMan> banman;
|
||||
std::unique_ptr<interfaces::Chain> chain;
|
||||
std::vector<std::unique_ptr<interfaces::ChainClient>> chain_clients;
|
||||
std::unique_ptr<CScheduler> scheduler;
|
||||
|
||||
//! Declare default constructor and destructor that are not inline, so code
|
||||
//! instantiating the NodeContext struct doesn't need to #include class
|
||||
|
||||
Reference in New Issue
Block a user