Don't assert(foo()) where foo has side effects
This commit is contained in:
parent
0212187fc6
commit
6ad0328f1c
5 changed files with 14 additions and 8 deletions
|
@ -41,7 +41,8 @@ static CTxIn MineBlock(const CScript& coinbase_scriptPubKey)
|
||||||
auto block = PrepareBlock(coinbase_scriptPubKey);
|
auto block = PrepareBlock(coinbase_scriptPubKey);
|
||||||
|
|
||||||
while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) {
|
while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) {
|
||||||
assert(++block->nNonce);
|
++block->nNonce;
|
||||||
|
assert(block->nNonce);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool processed{ProcessNewBlock(Params(), block, true, nullptr)};
|
bool processed{ProcessNewBlock(Params(), block, true, nullptr)};
|
||||||
|
|
|
@ -28,7 +28,8 @@ static void DeserializeBlockTest(benchmark::State& state)
|
||||||
while (state.KeepRunning()) {
|
while (state.KeepRunning()) {
|
||||||
CBlock block;
|
CBlock block;
|
||||||
stream >> block;
|
stream >> block;
|
||||||
assert(stream.Rewind(sizeof(block_bench::block413567)));
|
bool rewound = stream.Rewind(sizeof(block_bench::block413567));
|
||||||
|
assert(rewound);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,10 +46,12 @@ static void DeserializeAndCheckBlockTest(benchmark::State& state)
|
||||||
while (state.KeepRunning()) {
|
while (state.KeepRunning()) {
|
||||||
CBlock block; // Note that CBlock caches its checked state, so we need to recreate it here
|
CBlock block; // Note that CBlock caches its checked state, so we need to recreate it here
|
||||||
stream >> block;
|
stream >> block;
|
||||||
assert(stream.Rewind(sizeof(block_bench::block413567)));
|
bool rewound = stream.Rewind(sizeof(block_bench::block413567));
|
||||||
|
assert(rewound);
|
||||||
|
|
||||||
CValidationState validationState;
|
CValidationState validationState;
|
||||||
assert(CheckBlock(block, validationState, chainParams->GetConsensus()));
|
bool checked = CheckBlock(block, validationState, chainParams->GetConsensus());
|
||||||
|
assert(checked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -240,8 +240,9 @@ bool StartHTTPRPC()
|
||||||
// ifdef can be removed once we switch to better endpoint support and API versioning
|
// ifdef can be removed once we switch to better endpoint support and API versioning
|
||||||
RegisterHTTPHandler("/wallet/", false, HTTPReq_JSONRPC);
|
RegisterHTTPHandler("/wallet/", false, HTTPReq_JSONRPC);
|
||||||
#endif
|
#endif
|
||||||
assert(EventBase());
|
struct event_base* eventBase = EventBase();
|
||||||
httpRPCTimerInterface = MakeUnique<HTTPRPCTimerInterface>(EventBase());
|
assert(eventBase);
|
||||||
|
httpRPCTimerInterface = MakeUnique<HTTPRPCTimerInterface>(eventBase);
|
||||||
RPCSetTimerInterface(httpRPCTimerInterface.get());
|
RPCSetTimerInterface(httpRPCTimerInterface.get());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -424,7 +424,8 @@ bool IsSolvable(const SigningProvider& provider, const CScript& script)
|
||||||
static_assert(STANDARD_SCRIPT_VERIFY_FLAGS & SCRIPT_VERIFY_WITNESS_PUBKEYTYPE, "IsSolvable requires standard script flags to include WITNESS_PUBKEYTYPE");
|
static_assert(STANDARD_SCRIPT_VERIFY_FLAGS & SCRIPT_VERIFY_WITNESS_PUBKEYTYPE, "IsSolvable requires standard script flags to include WITNESS_PUBKEYTYPE");
|
||||||
if (ProduceSignature(provider, DUMMY_SIGNATURE_CREATOR, script, sigs)) {
|
if (ProduceSignature(provider, DUMMY_SIGNATURE_CREATOR, script, sigs)) {
|
||||||
// VerifyScript check is just defensive, and should never fail.
|
// VerifyScript check is just defensive, and should never fail.
|
||||||
assert(VerifyScript(sigs.scriptSig, script, &sigs.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS, DUMMY_CHECKER));
|
bool verified = VerifyScript(sigs.scriptSig, script, &sigs.scriptWitness, STANDARD_SCRIPT_VERIFY_FLAGS, DUMMY_CHECKER);
|
||||||
|
assert(verified);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -30,7 +30,7 @@ BOOST_FIXTURE_TEST_CASE(tx_mempool_reject_coinbase, TestChain100Setup)
|
||||||
coinbaseTx.vout[0].nValue = 1 * CENT;
|
coinbaseTx.vout[0].nValue = 1 * CENT;
|
||||||
coinbaseTx.vout[0].scriptPubKey = scriptPubKey;
|
coinbaseTx.vout[0].scriptPubKey = scriptPubKey;
|
||||||
|
|
||||||
assert(CTransaction(coinbaseTx).IsCoinBase());
|
BOOST_CHECK(CTransaction(coinbaseTx).IsCoinBase());
|
||||||
|
|
||||||
CValidationState state;
|
CValidationState state;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue