summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2015-01-29 23:01:07 +0000
committerKostya Serebryany <kcc@google.com>2015-01-29 23:01:07 +0000
commit2c1b33b8976ca473c90fb1848ae0dc5d72597a96 (patch)
tree7b8474d40fd8363e3ed4534a9be696adf32f60ef /llvm/lib/Fuzzer/test
parent11d943d32c35720db2aaf8496bf20496a917fd71 (diff)
downloadbcm5719-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.txt8
-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.test3
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
OpenPOWER on IntegriCloud