mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-01 00:34:01 +02:00
fuzz: Improve fuzzing stability for txorphan harness
This commit is contained in:
@@ -33,6 +33,7 @@ void initialize_orphanage()
|
||||
FUZZ_TARGET(txorphan, .init = initialize_orphanage)
|
||||
{
|
||||
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
|
||||
FastRandomContext limit_orphans_rng{/*fDeterministic=*/true};
|
||||
SetMockTime(ConsumeTime(fuzzed_data_provider));
|
||||
|
||||
TxOrphanage orphanage;
|
||||
@@ -132,7 +133,7 @@ FUZZ_TARGET(txorphan, .init = initialize_orphanage)
|
||||
// test mocktime and expiry
|
||||
SetMockTime(ConsumeTime(fuzzed_data_provider));
|
||||
auto limit = fuzzed_data_provider.ConsumeIntegral<unsigned int>();
|
||||
orphanage.LimitOrphans(limit);
|
||||
orphanage.LimitOrphans(limit, limit_orphans_rng);
|
||||
Assert(orphanage.Size() <= limit);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -129,11 +129,12 @@ BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
|
||||
}
|
||||
|
||||
// Test LimitOrphanTxSize() function:
|
||||
orphanage.LimitOrphans(40);
|
||||
FastRandomContext rng{/*fDeterministic=*/true};
|
||||
orphanage.LimitOrphans(40, rng);
|
||||
BOOST_CHECK(orphanage.CountOrphans() <= 40);
|
||||
orphanage.LimitOrphans(10);
|
||||
orphanage.LimitOrphans(10, rng);
|
||||
BOOST_CHECK(orphanage.CountOrphans() <= 10);
|
||||
orphanage.LimitOrphans(0);
|
||||
orphanage.LimitOrphans(0, rng);
|
||||
BOOST_CHECK(orphanage.CountOrphans() == 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user