mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-02 09:46:14 +00:00
fuzz: pass coins_view_cache to TestCoinsView in coins_view
Refactor TestCoinsView() to accept the cache as a parameter instead of creating it internally. This prepares for adding a CoinsViewOverlay fuzz target that needs to pass in a different cache type. This is a non-functional change. Co-authored-by: l0rinc <pap.lorinc@gmail.com>
This commit is contained in:
parent
73e99a5966
commit
89824fb27b
@ -42,11 +42,10 @@ void initialize_coins_view()
|
||||
static const auto testing_setup = MakeNoLogFileContext<>();
|
||||
}
|
||||
|
||||
void TestCoinsView(FuzzedDataProvider& fuzzed_data_provider, CCoinsView& backend_coins_view, bool is_db)
|
||||
void TestCoinsView(FuzzedDataProvider& fuzzed_data_provider, CCoinsViewCache& coins_view_cache, CCoinsView& backend_coins_view, bool is_db)
|
||||
{
|
||||
bool good_data{true};
|
||||
|
||||
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
|
||||
if (is_db) coins_view_cache.SetBestBlock(uint256::ONE);
|
||||
COutPoint random_out_point;
|
||||
Coin random_coin;
|
||||
@ -312,7 +311,8 @@ FUZZ_TARGET(coins_view, .init = initialize_coins_view)
|
||||
{
|
||||
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
|
||||
CCoinsView backend_coins_view;
|
||||
TestCoinsView(fuzzed_data_provider, backend_coins_view, /*is_db=*/false);
|
||||
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
|
||||
TestCoinsView(fuzzed_data_provider, coins_view_cache, backend_coins_view, /*is_db=*/false);
|
||||
}
|
||||
|
||||
FUZZ_TARGET(coins_view_db, .init = initialize_coins_view)
|
||||
@ -323,6 +323,7 @@ FUZZ_TARGET(coins_view_db, .init = initialize_coins_view)
|
||||
.cache_bytes = 1_MiB,
|
||||
.memory_only = true,
|
||||
};
|
||||
CCoinsViewDB coins_db{std::move(db_params), CoinsViewOptions{}};
|
||||
TestCoinsView(fuzzed_data_provider, coins_db, /*is_db=*/true);
|
||||
CCoinsViewDB backend_coins_view{std::move(db_params), CoinsViewOptions{}};
|
||||
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
|
||||
TestCoinsView(fuzzed_data_provider, coins_view_cache, backend_coins_view, /*is_db=*/true);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user