diff options
Diffstat (limited to 'llvm/lib/Fuzzer/test')
-rw-r--r-- | llvm/lib/Fuzzer/test/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/lib/Fuzzer/test/SingleByteInputTest.cpp | 17 | ||||
-rw-r--r-- | llvm/lib/Fuzzer/test/minimize_crash.test | 8 |
3 files changed, 25 insertions, 1 deletions
diff --git a/llvm/lib/Fuzzer/test/CMakeLists.txt b/llvm/lib/Fuzzer/test/CMakeLists.txt index 2359c208ab0..5e7334f6b2a 100644 --- a/llvm/lib/Fuzzer/test/CMakeLists.txt +++ b/llvm/lib/Fuzzer/test/CMakeLists.txt @@ -94,6 +94,7 @@ set(Tests SimpleHashTest SimpleTest SimpleThreadedTest + SingleByteInputTest SingleMemcmpTest SingleStrcmpTest SingleStrncmpTest diff --git a/llvm/lib/Fuzzer/test/SingleByteInputTest.cpp b/llvm/lib/Fuzzer/test/SingleByteInputTest.cpp new file mode 100644 index 00000000000..4ce819d230c --- /dev/null +++ b/llvm/lib/Fuzzer/test/SingleByteInputTest.cpp @@ -0,0 +1,17 @@ +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. + +// Simple test for a fuzzer, need just one byte to crash. +#include <cstdint> +#include <cstdlib> +#include <cstddef> +#include <cstdio> + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + if (Size > 0 && Data[Size/2] == 42) { + fprintf(stderr, "BINGO\n"); + abort(); + } + return 0; +} + diff --git a/llvm/lib/Fuzzer/test/minimize_crash.test b/llvm/lib/Fuzzer/test/minimize_crash.test index 7e5406598e4..ec54ec59d6d 100644 --- a/llvm/lib/Fuzzer/test/minimize_crash.test +++ b/llvm/lib/Fuzzer/test/minimize_crash.test @@ -1,6 +1,12 @@ RUN: echo 'Hi!rv349f34t3gg' > not_minimal_crash RUN: LLVMFuzzer-NullDerefTest -minimize_crash=1 not_minimal_crash -max_total_time=2 2>&1 | FileCheck %s -CHECK: CRASH_MIN: failed to minimize beyond minimized-from-{{.*}} (3 bytes), exiting +CHECK: CRASH_MIN: failed to minimize beyond ./minimized-from-{{.*}} (3 bytes), exiting RUN: LLVMFuzzer-NullDerefTest -minimize_crash=1 not_minimal_crash -max_total_time=2 -exact_artifact_path=exact_minimized_path 2>&1 | FileCheck %s --check-prefix=CHECK_EXACT CHECK_EXACT: CRASH_MIN: failed to minimize beyond exact_minimized_path (3 bytes), exiting RUN: rm not_minimal_crash minimized-from-* exact_minimized_path + +RUN: echo 'abcd*xyz' > not_minimal_crash +RUN: LLVMFuzzer-SingleByteInputTest -minimize_crash=1 not_minimal_crash -artifact_prefix=./ZZZ- -exact_artifact_path=exact_minimized_path 2>&1 | FileCheck %s --check-prefix=MIN1 +MIN1: Test unit written to ./ZZZ-minimized-from- +MIN1: INFO: The input is small enough, exiting +MIN1: CRASH_MIN: failed to minimize beyond exact_minimized_path (1 bytes), exiting |