test: Use mockable time in GuessVerificationProgress
Also add a test.
This commit is contained in:
3 files changed
+13
-4
No files matched your search
@@ -613,9 +613,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
chainTxData = ChainTxData{
|
chainTxData = ChainTxData{
|
||||||
0,
|
.nTime = 0,
|
||||||
0,
|
.tx_count = 0,
|
||||||
0
|
.dTxRate = 0.001, // Set a non-zero rate to make it testable
|
||||||
};
|
};
|
||||||
|
|
||||||
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
|
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
|
||||||
|
|||||||
+1
-1
@@ -5572,7 +5572,7 @@ double ChainstateManager::GuessVerificationProgress(const CBlockIndex* pindex) c
|
|||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t nNow = time(nullptr);
|
const int64_t nNow{TicksSinceEpoch<std::chrono::seconds>(NodeClock::now())};
|
||||||
|
|
||||||
double fTxTotal;
|
double fTxTotal;
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ class BlockchainTest(BitcoinTestFramework):
|
|||||||
self._test_waitforblockheight()
|
self._test_waitforblockheight()
|
||||||
self._test_getblock()
|
self._test_getblock()
|
||||||
self._test_getdeploymentinfo()
|
self._test_getdeploymentinfo()
|
||||||
|
self._test_verificationprogress()
|
||||||
self._test_y2106()
|
self._test_y2106()
|
||||||
assert self.nodes[0].verifychain(4, 0)
|
assert self.nodes[0].verifychain(4, 0)
|
||||||
|
|
||||||
@@ -280,6 +281,14 @@ class BlockchainTest(BitcoinTestFramework):
|
|||||||
# calling with an explicit hash works
|
# calling with an explicit hash works
|
||||||
self.check_signalling_deploymentinfo_result(self.nodes[0].getdeploymentinfo(gbci207["bestblockhash"]), gbci207["blocks"], gbci207["bestblockhash"], "started")
|
self.check_signalling_deploymentinfo_result(self.nodes[0].getdeploymentinfo(gbci207["bestblockhash"]), gbci207["blocks"], gbci207["bestblockhash"], "started")
|
||||||
|
|
||||||
|
def _test_verificationprogress(self):
|
||||||
|
self.log.info("Check that verificationprogress is less than 1 when the block tip is old")
|
||||||
|
future = 2 * 60 * 60
|
||||||
|
self.nodes[0].setmocktime(self.nodes[0].getblockchaininfo()["time"] + future + 1)
|
||||||
|
assert_greater_than(1, self.nodes[0].getblockchaininfo()["verificationprogress"])
|
||||||
|
self.nodes[0].setmocktime(self.nodes[0].getblockchaininfo()["time"] + future)
|
||||||
|
assert_greater_than(1, self.nodes[0].getblockchaininfo()["verificationprogress"])
|
||||||
|
|
||||||
def _test_y2106(self):
|
def _test_y2106(self):
|
||||||
self.log.info("Check that block timestamps work until year 2106")
|
self.log.info("Check that block timestamps work until year 2106")
|
||||||
self.generate(self.nodes[0], 8)[-1]
|
self.generate(self.nodes[0], 8)[-1]
|
||||||
|
|||||||
Reference in new issue
Block a user