Test
This commit is contained in:
12
src/main.cpp
12
src/main.cpp
@@ -3448,13 +3448,25 @@ bool TestBlockValidity(CValidationState &state, const CBlock& block, CBlockIndex
|
|||||||
|
|
||||||
// NOTE: CheckBlockHeader is called by CheckBlock
|
// NOTE: CheckBlockHeader is called by CheckBlock
|
||||||
if (!ContextualCheckBlockHeader(block, state, pindexPrev))
|
if (!ContextualCheckBlockHeader(block, state, pindexPrev))
|
||||||
|
{
|
||||||
|
fprintf(stderr,"TestBlockValidity failure A\n");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (!CheckBlock(indexDummy.nHeight,0,block, state, verifier, fCheckPOW, fCheckMerkleRoot))
|
if (!CheckBlock(indexDummy.nHeight,0,block, state, verifier, fCheckPOW, fCheckMerkleRoot))
|
||||||
|
{
|
||||||
|
fprintf(stderr,"TestBlockValidity failure B\n");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (!ContextualCheckBlock(block, state, pindexPrev))
|
if (!ContextualCheckBlock(block, state, pindexPrev))
|
||||||
|
{
|
||||||
|
fprintf(stderr,"TestBlockValidity failure C\n");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (!ConnectBlock(block, state, &indexDummy, viewNew, true))
|
if (!ConnectBlock(block, state, &indexDummy, viewNew, true))
|
||||||
|
{
|
||||||
|
fprintf(stderr,"TestBlockValidity failure D\n");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
assert(state.IsValid());
|
assert(state.IsValid());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -426,7 +426,9 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn)
|
|||||||
CValidationState state;
|
CValidationState state;
|
||||||
if ( !TestBlockValidity(state, *pblock, pindexPrev, false, false))
|
if ( !TestBlockValidity(state, *pblock, pindexPrev, false, false))
|
||||||
{
|
{
|
||||||
fprintf(stderr,"warning: testblockvalidity failed\n");
|
static uint32_t counter;
|
||||||
|
if ( counter++ < 100 )
|
||||||
|
fprintf(stderr,"warning: testblockvalidity failed\n");
|
||||||
return(0);
|
return(0);
|
||||||
//throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed");
|
//throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed");
|
||||||
}
|
}
|
||||||
@@ -615,7 +617,7 @@ void static BitcoinMiner(CWallet *pwallet)
|
|||||||
CBlockTemplate *ptr = CreateNewBlockWithKey(reservekey);
|
CBlockTemplate *ptr = CreateNewBlockWithKey(reservekey);
|
||||||
if ( ptr == 0 )
|
if ( ptr == 0 )
|
||||||
{
|
{
|
||||||
static int32_t counter;
|
static uint32_t counter;
|
||||||
if ( counter++ < 100 )
|
if ( counter++ < 100 )
|
||||||
fprintf(stderr,"created illegal block, retry\n");
|
fprintf(stderr,"created illegal block, retry\n");
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user