| 27 | } // namespace |
| 28 | |
| 29 | FUZZ_TARGET(cuckoocache) |
| 30 | { |
| 31 | FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); |
| 32 | fuzzed_data_provider_ptr = &fuzzed_data_provider; |
| 33 | CuckooCache::cache<int, RandomHasher> cuckoo_cache{}; |
| 34 | if (fuzzed_data_provider.ConsumeBool()) { |
| 35 | const size_t megabytes = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 16); |
| 36 | cuckoo_cache.setup_bytes(megabytes << 20); |
| 37 | } else { |
| 38 | cuckoo_cache.setup(fuzzed_data_provider.ConsumeIntegralInRange<uint32_t>(0, 4096)); |
| 39 | } |
| 40 | LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) { |
| 41 | if (fuzzed_data_provider.ConsumeBool()) { |
| 42 | cuckoo_cache.insert(fuzzed_data_provider.ConsumeBool()); |
| 43 | } else { |
| 44 | cuckoo_cache.contains(fuzzed_data_provider.ConsumeBool(), fuzzed_data_provider.ConsumeBool()); |
| 45 | } |
| 46 | } |
| 47 | fuzzed_data_provider_ptr = nullptr; |
| 48 | } |
nothing calls this directly
no test coverage detected