diff options
Diffstat (limited to 'llvm/lib/Fuzzer/test')
-rw-r--r-- | llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/Fuzzer/test/fuzzer-customcrossover.test | 2 | ||||
-rw-r--r-- | llvm/lib/Fuzzer/test/fuzzer-prunecorpus.test | 13 |
3 files changed, 7 insertions, 14 deletions
diff --git a/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp b/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp index 2ab5781155f..b624088b902 100644 --- a/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp +++ b/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp @@ -15,10 +15,16 @@ static const char *Separator = "-_^_-"; static const char *Target = "012-_^_-abc"; +static volatile int sink; + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { assert(Data); std::string Str(reinterpret_cast<const char *>(Data), Size); + // Ensure that two different elements exist in the corpus. + if (Size && Data[0] == '0') sink++; + if (Size && Data[0] == 'a') sink--; + if (Str.find(Target) != std::string::npos) { std::cout << "BINGO; Found the target, exiting\n"; exit(1); diff --git a/llvm/lib/Fuzzer/test/fuzzer-customcrossover.test b/llvm/lib/Fuzzer/test/fuzzer-customcrossover.test index 4be54d3f799..28d39ce31de 100644 --- a/llvm/lib/Fuzzer/test/fuzzer-customcrossover.test +++ b/llvm/lib/Fuzzer/test/fuzzer-customcrossover.test @@ -2,7 +2,7 @@ RUN: rm -rf %t/CustomCrossover RUN: mkdir -p %t/CustomCrossover RUN: echo "0123456789" > %t/CustomCrossover/digits RUN: echo "abcdefghij" > %t/CustomCrossover/chars -RUN: not LLVMFuzzer-CustomCrossOverTest -seed=1 -use_memcmp=0 -runs=100000 -prune_corpus=0 %t/CustomCrossover 2>&1 | FileCheck %s --check-prefix=LLVMFuzzerCustomCrossover +RUN: not LLVMFuzzer-CustomCrossOverTest -seed=1 -use_memcmp=0 -runs=100000 %t/CustomCrossover 2>&1 | FileCheck %s --check-prefix=LLVMFuzzerCustomCrossover RUN: rm -rf %t/CustomCrossover LLVMFuzzerCustomCrossover: In LLVMFuzzerCustomCrossover diff --git a/llvm/lib/Fuzzer/test/fuzzer-prunecorpus.test b/llvm/lib/Fuzzer/test/fuzzer-prunecorpus.test deleted file mode 100644 index a8a660e91b9..00000000000 --- a/llvm/lib/Fuzzer/test/fuzzer-prunecorpus.test +++ /dev/null @@ -1,13 +0,0 @@ -RUN: rm -rf %t/PruneCorpus -RUN: mkdir -p %t/PruneCorpus -RUN: echo a > %t/PruneCorpus/a -RUN: echo b > %t/PruneCorpus/b -RUN: LLVMFuzzer-EmptyTest %t/PruneCorpus -prune_corpus=1 -runs=0 2>&1 | FileCheck %s --check-prefix=PRUNE -RUN: LLVMFuzzer-EmptyTest %t/PruneCorpus -prune_corpus=0 -runs=0 2>&1 | FileCheck %s --check-prefix=NOPRUNE -RUN: rm -rf %t/PruneCorpus - -PRUNE: READ units: 2 -PRUNE: INITED{{.*}}units: 1 -NOPRUNE: READ units: 2 -NOPRUNE: INITED{{.*}}units: 2 - |