From 89824fb27b228a12d5c2f63106c2a4d793e73107 Mon Sep 17 00:00:00 2001 From: Andrew Toth Date: Fri, 26 Dec 2025 11:13:59 -0500 Subject: [PATCH] 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 --- src/test/fuzz/coins_view.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/test/fuzz/coins_view.cpp b/src/test/fuzz/coins_view.cpp index 699a45e2c49..813cf0313d4 100644 --- a/src/test/fuzz/coins_view.cpp +++ b/src/test/fuzz/coins_view.cpp @@ -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); }