1de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// This file is distributed under the University of Illinois Open Source
2de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// License. See LICENSE.TXT for details.
3de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
4de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// Simple test for a fuzzer Fn adapter. The fuzzer has to find two non-empty
5de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// vectors with the same content.
6de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
7de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include <iostream>
8de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include <vector>
9de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
10de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar#include "FuzzerFnAdapter.h"
11de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
12de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarstatic void TestFn(std::vector<uint8_t> V1, std::vector<uint8_t> V2) {
13de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar  if (V1.size() > 0 && V1 == V2) {
14de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar    std::cout << "BINGO; Found the target, exiting\n";
15de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar    exit(0);
16de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar  }
17de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar}
18de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
19de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarextern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
20de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar  fuzzer::Adapt(TestFn, Data, Size);
21de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar  return 0;
22de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar}
23de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
24de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
25