mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
Remove gArgs global from CreateChainParams to aid testing
This commit is contained in:
@@ -14,7 +14,7 @@ BOOST_FIXTURE_TEST_SUITE(pow_tests, BasicTestingSetup)
|
||||
/* Test calculation of next difficulty target with no constraints applying */
|
||||
BOOST_AUTO_TEST_CASE(get_next_work)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
|
||||
const auto chainParams = CreateChainParams(*m_node.args, CBaseChainParams::MAIN);
|
||||
int64_t nLastRetargetTime = 1261130161; // Block #30240
|
||||
CBlockIndex pindexLast;
|
||||
pindexLast.nHeight = 32255;
|
||||
@@ -26,7 +26,7 @@ BOOST_AUTO_TEST_CASE(get_next_work)
|
||||
/* Test the constraint on the upper bound for next work */
|
||||
BOOST_AUTO_TEST_CASE(get_next_work_pow_limit)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
|
||||
const auto chainParams = CreateChainParams(*m_node.args, CBaseChainParams::MAIN);
|
||||
int64_t nLastRetargetTime = 1231006505; // Block #0
|
||||
CBlockIndex pindexLast;
|
||||
pindexLast.nHeight = 2015;
|
||||
@@ -38,7 +38,7 @@ BOOST_AUTO_TEST_CASE(get_next_work_pow_limit)
|
||||
/* Test the constraint on the lower bound for actual time taken */
|
||||
BOOST_AUTO_TEST_CASE(get_next_work_lower_limit_actual)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
|
||||
const auto chainParams = CreateChainParams(*m_node.args, CBaseChainParams::MAIN);
|
||||
int64_t nLastRetargetTime = 1279008237; // Block #66528
|
||||
CBlockIndex pindexLast;
|
||||
pindexLast.nHeight = 68543;
|
||||
@@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE(get_next_work_lower_limit_actual)
|
||||
/* Test the constraint on the upper bound for actual time taken */
|
||||
BOOST_AUTO_TEST_CASE(get_next_work_upper_limit_actual)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
|
||||
const auto chainParams = CreateChainParams(*m_node.args, CBaseChainParams::MAIN);
|
||||
int64_t nLastRetargetTime = 1263163443; // NOTE: Not an actual block time
|
||||
CBlockIndex pindexLast;
|
||||
pindexLast.nHeight = 46367;
|
||||
@@ -61,7 +61,7 @@ BOOST_AUTO_TEST_CASE(get_next_work_upper_limit_actual)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_negative_target)
|
||||
{
|
||||
const auto consensus = CreateChainParams(CBaseChainParams::MAIN)->GetConsensus();
|
||||
const auto consensus = CreateChainParams(*m_node.args, CBaseChainParams::MAIN)->GetConsensus();
|
||||
uint256 hash;
|
||||
unsigned int nBits;
|
||||
nBits = UintToArith256(consensus.powLimit).GetCompact(true);
|
||||
@@ -71,7 +71,7 @@ BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_negative_target)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_overflow_target)
|
||||
{
|
||||
const auto consensus = CreateChainParams(CBaseChainParams::MAIN)->GetConsensus();
|
||||
const auto consensus = CreateChainParams(*m_node.args, CBaseChainParams::MAIN)->GetConsensus();
|
||||
uint256 hash;
|
||||
unsigned int nBits = ~0x00800000;
|
||||
hash.SetHex("0x1");
|
||||
@@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_overflow_target)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_too_easy_target)
|
||||
{
|
||||
const auto consensus = CreateChainParams(CBaseChainParams::MAIN)->GetConsensus();
|
||||
const auto consensus = CreateChainParams(*m_node.args, CBaseChainParams::MAIN)->GetConsensus();
|
||||
uint256 hash;
|
||||
unsigned int nBits;
|
||||
arith_uint256 nBits_arith = UintToArith256(consensus.powLimit);
|
||||
@@ -92,7 +92,7 @@ BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_too_easy_target)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_biger_hash_than_target)
|
||||
{
|
||||
const auto consensus = CreateChainParams(CBaseChainParams::MAIN)->GetConsensus();
|
||||
const auto consensus = CreateChainParams(*m_node.args, CBaseChainParams::MAIN)->GetConsensus();
|
||||
uint256 hash;
|
||||
unsigned int nBits;
|
||||
arith_uint256 hash_arith = UintToArith256(consensus.powLimit);
|
||||
@@ -104,7 +104,7 @@ BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_biger_hash_than_target)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_zero_target)
|
||||
{
|
||||
const auto consensus = CreateChainParams(CBaseChainParams::MAIN)->GetConsensus();
|
||||
const auto consensus = CreateChainParams(*m_node.args, CBaseChainParams::MAIN)->GetConsensus();
|
||||
uint256 hash;
|
||||
unsigned int nBits;
|
||||
arith_uint256 hash_arith{0};
|
||||
@@ -115,7 +115,7 @@ BOOST_AUTO_TEST_CASE(CheckProofOfWork_test_zero_target)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(GetBlockProofEquivalentTime_test)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(CBaseChainParams::MAIN);
|
||||
const auto chainParams = CreateChainParams(*m_node.args, CBaseChainParams::MAIN);
|
||||
std::vector<CBlockIndex> blocks(10000);
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
blocks[i].pprev = i ? &blocks[i - 1] : nullptr;
|
||||
@@ -135,9 +135,9 @@ BOOST_AUTO_TEST_CASE(GetBlockProofEquivalentTime_test)
|
||||
}
|
||||
}
|
||||
|
||||
void sanity_check_chainparams(std::string chainName)
|
||||
void sanity_check_chainparams(const ArgsManager& args, std::string chainName)
|
||||
{
|
||||
const auto chainParams = CreateChainParams(chainName);
|
||||
const auto chainParams = CreateChainParams(args, chainName);
|
||||
const auto consensus = chainParams->GetConsensus();
|
||||
|
||||
// hash genesis is correct
|
||||
@@ -164,22 +164,22 @@ void sanity_check_chainparams(std::string chainName)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ChainParams_MAIN_sanity)
|
||||
{
|
||||
sanity_check_chainparams(CBaseChainParams::MAIN);
|
||||
sanity_check_chainparams(*m_node.args, CBaseChainParams::MAIN);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ChainParams_REGTEST_sanity)
|
||||
{
|
||||
sanity_check_chainparams(CBaseChainParams::REGTEST);
|
||||
sanity_check_chainparams(*m_node.args, CBaseChainParams::REGTEST);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ChainParams_TESTNET_sanity)
|
||||
{
|
||||
sanity_check_chainparams(CBaseChainParams::TESTNET);
|
||||
sanity_check_chainparams(*m_node.args, CBaseChainParams::TESTNET);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ChainParams_SIGNET_sanity)
|
||||
{
|
||||
sanity_check_chainparams(CBaseChainParams::SIGNET);
|
||||
sanity_check_chainparams(*m_node.args, CBaseChainParams::SIGNET);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
Reference in New Issue
Block a user