diff options
| author | Kostya Serebryany <kcc@google.com> | 2015-01-29 23:01:07 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2015-01-29 23:01:07 +0000 |
| commit | 2c1b33b8976ca473c90fb1848ae0dc5d72597a96 (patch) | |
| tree | 7b8474d40fd8363e3ed4534a9be696adf32f60ef /llvm/lib/Fuzzer/test | |
| parent | 11d943d32c35720db2aaf8496bf20496a917fd71 (diff) | |
| download | bcm5719-llvm-2c1b33b8976ca473c90fb1848ae0dc5d72597a96.tar.gz bcm5719-llvm-2c1b33b8976ca473c90fb1848ae0dc5d72597a96.zip | |
[fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This does not scale very well yet, but might be a good start.
llvm-svn: 227507
Diffstat (limited to 'llvm/lib/Fuzzer/test')
| -rw-r--r-- | llvm/lib/Fuzzer/test/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | llvm/lib/Fuzzer/test/FullCoverageSetTest.cpp (renamed from llvm/lib/Fuzzer/test/ExactTest.cpp) | 2 | ||||
| -rw-r--r-- | llvm/lib/Fuzzer/test/fuzzer.test | 3 |
3 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/Fuzzer/test/CMakeLists.txt b/llvm/lib/Fuzzer/test/CMakeLists.txt index 0c2118f31b0..17afd92c3b4 100644 --- a/llvm/lib/Fuzzer/test/CMakeLists.txt +++ b/llvm/lib/Fuzzer/test/CMakeLists.txt @@ -1,5 +1,11 @@ +# Build all these tests with -O0, otherwise optimizations may merge some +# basic blocks and we'll fail to discover the targets. +# Also enable the coverage instrumentation back (it is disabled +# for the Fuzzer lib) +set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O0 -fsanitize-coverage=4") + set(Tests - ExactTest + FullCoverageSetTest InfiniteTest NullDerefTest SimpleTest diff --git a/llvm/lib/Fuzzer/test/ExactTest.cpp b/llvm/lib/Fuzzer/test/FullCoverageSetTest.cpp index bbfed3c1eb0..d4f8c115abc 100644 --- a/llvm/lib/Fuzzer/test/ExactTest.cpp +++ b/llvm/lib/Fuzzer/test/FullCoverageSetTest.cpp @@ -14,7 +14,7 @@ extern "C" void TestOneInput(const uint8_t *Data, size_t Size) { if (Size > 5 && Data[5] == 'R') bits |= 32; if (bits == 63) { std::cerr << "BINGO!\n"; - abort(); + exit(1); } } diff --git a/llvm/lib/Fuzzer/test/fuzzer.test b/llvm/lib/Fuzzer/test/fuzzer.test index 5f013109f62..51b42d67824 100644 --- a/llvm/lib/Fuzzer/test/fuzzer.test +++ b/llvm/lib/Fuzzer/test/fuzzer.test @@ -11,3 +11,6 @@ TimeoutTest: CRASHED; file written to timeout RUN: not ./LLVMFuzzer-NullDerefTest 2>&1 | FileCheck %s --check-prefix=NullDerefTest NullDerefTest: CRASHED; file written to crash- + +RUN: not ./LLVMFuzzer-FullCoverageSetTest -timeout=15 -mutate_depth=2 -use_full_coverage_set=1 2>&1 | FileCheck %s --check-prefix=FullCoverageSetTest +FullCoverageSetTest: BINGO |

