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:
1 file changed
+6
-5
@@ -42,11 +42,10 @@ void initialize_coins_view()
|
|||||||
static const auto testing_setup = MakeNoLogFileContext<>();
|
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};
|
bool good_data{true};
|
||||||
|
|
||||||
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
|
|
||||||
if (is_db) coins_view_cache.SetBestBlock(uint256::ONE);
|
if (is_db) coins_view_cache.SetBestBlock(uint256::ONE);
|
||||||
COutPoint random_out_point;
|
COutPoint random_out_point;
|
||||||
Coin random_coin;
|
Coin random_coin;
|
||||||
@@ -312,7 +311,8 @@ FUZZ_TARGET(coins_view, .init = initialize_coins_view)
|
|||||||
{
|
{
|
||||||
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
|
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
|
||||||
CCoinsView backend_coins_view;
|
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)
|
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,
|
.cache_bytes = 1_MiB,
|
||||||
.memory_only = true,
|
.memory_only = true,
|
||||||
};
|
};
|
||||||
CCoinsViewDB coins_db{std::move(db_params), CoinsViewOptions{}};
|
CCoinsViewDB backend_coins_view{std::move(db_params), CoinsViewOptions{}};
|
||||||
TestCoinsView(fuzzed_data_provider, coins_db, /*is_db=*/true);
|
CCoinsViewCache coins_view_cache{&backend_coins_view, /*deterministic=*/true};
|
||||||
|
TestCoinsView(fuzzed_data_provider, coins_view_cache, backend_coins_view, /*is_db=*/true);
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user