2 #include "gtest/gtest.h"
12 using namespace fuzzer;
13 Unit A({0, 1, 2}), B({5, 6, 7});
51 for (
size_t Len = 1; Len < 8; Len++) {
52 std::set<Unit> FoundUnits, ExpectedUnitsWitThisLength;
53 for (
int Iter = 0; Iter < 3000; Iter++) {
55 size_t NewSize =
CrossOver(
A.data(),
A.size(), B.data(), B.size(),
60 for (
const Unit &U : Expected)
62 ExpectedUnitsWitThisLength.insert(U);
63 EXPECT_EQ(ExpectedUnitsWitThisLength, FoundUnits);
68 uint8_t
A[] = {
'a',
'b',
'c'};
70 EXPECT_EQ(
"a9993e364706816aba3e25717850c26c9cd0d89d",
fuzzer::Hash(U));
72 EXPECT_EQ(
"81fe8bfe87576c3ecb22426f8e57847382917acf",
fuzzer::Hash(U));
void LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
size_t CrossOver(const uint8_t *Data1, size_t Size1, const uint8_t *Data2, size_t Size2, uint8_t *Out, size_t MaxOutSize)
std::vector< uint8_t > Unit
std::string Hash(const Unit &U)