1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
crate::ix!();
//-------------------------------------------[.cpp/bitcoin/src/test/fuzz/cuckoocache.cpp]
lazy_static!{
/*
FuzzedDataProvider* fuzzed_data_provider_ptr = nullptr;
*/
}
pub struct RandomHasher {
}
impl RandomHasher {
pub fn invoke<uint8_t>(&self, unused: &bool) -> u32 {
todo!();
/*
assert(fuzzed_data_provider_ptr != nullptr);
return fuzzed_data_provider_ptr->ConsumeIntegral<uint32_t>();
*/
}
}
#[fuzz_test] fn cuckoocache() {
todo!();
/*
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
fuzzed_data_provider_ptr = &fuzzed_data_provider;
CuckooCache::cache<int, RandomHasher> cuckoo_cache{};
if (fuzzed_data_provider.ConsumeBool()) {
const size_t megabytes = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 16);
cuckoo_cache.setup_bytes(megabytes << 20);
} else {
cuckoo_cache.setup(fuzzed_data_provider.ConsumeIntegralInRange<uint32_t>(0, 4096));
}
while (fuzzed_data_provider.ConsumeBool()) {
if (fuzzed_data_provider.ConsumeBool()) {
cuckoo_cache.insert(fuzzed_data_provider.ConsumeBool());
} else {
cuckoo_cache.contains(fuzzed_data_provider.ConsumeBool(), fuzzed_data_provider.ConsumeBool());
}
}
fuzzed_data_provider_ptr = nullptr;
*/
}