[llvm] r236909 - [lib/Fuzzer] build tests that work well with dfsan also w/o dfsan
Kostya Serebryany
kcc at google.com
Fri May 8 14:45:19 PDT 2015
Author: kcc
Date: Fri May 8 16:45:19 2015
New Revision: 236909
URL: http://llvm.org/viewvc/llvm-project?rev=236909&view=rev
Log:
[lib/Fuzzer] build tests that work well with dfsan also w/o dfsan
Added:
llvm/trunk/lib/Fuzzer/test/DFSanMemcmpTest.cpp
- copied unchanged from r236896, llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp
llvm/trunk/lib/Fuzzer/test/DFSanSimpleCmpTest.cpp
- copied unchanged from r236896, llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp
Removed:
llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp
llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp
Modified:
llvm/trunk/lib/Fuzzer/test/CMakeLists.txt
llvm/trunk/lib/Fuzzer/test/dfsan/CMakeLists.txt
llvm/trunk/lib/Fuzzer/test/fuzzer.test
Modified: llvm/trunk/lib/Fuzzer/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/CMakeLists.txt?rev=236909&r1=236908&r2=236909&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/CMakeLists.txt (original)
+++ llvm/trunk/lib/Fuzzer/test/CMakeLists.txt Fri May 8 16:45:19 2015
@@ -4,6 +4,11 @@
# for the Fuzzer lib)
set(CMAKE_CXX_FLAGS_RELEASE "${LIBFUZZER_FLAGS_BASE} -O0 -fsanitize-coverage=edge,indirect-calls")
+set(DFSanTests
+ DFSanMemcmpTest
+ DFSanSimpleCmpTest
+ )
+
set(Tests
CounterTest
CxxTokensTest
@@ -13,12 +18,9 @@ set(Tests
NullDerefTest
SimpleTest
TimeoutTest
+ ${DFSanTests}
)
-set(DFSanTests
- DFSanMemcmpTest
- DFSanSimpleCmpTest
- )
set(TestBinaries)
@@ -60,7 +62,7 @@ set(TestBinaries ${TestBinaries} LLVMFuz
add_subdirectory(dfsan)
foreach(Test ${DFSanTests})
- set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test})
+ set(TestBinaries ${TestBinaries} LLVMFuzzer-${Test}-DFSan)
endforeach()
Modified: llvm/trunk/lib/Fuzzer/test/dfsan/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/dfsan/CMakeLists.txt?rev=236909&r1=236908&r2=236909&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/dfsan/CMakeLists.txt (original)
+++ llvm/trunk/lib/Fuzzer/test/dfsan/CMakeLists.txt Fri May 8 16:45:19 2015
@@ -4,10 +4,10 @@ set(CMAKE_CXX_FLAGS_RELEASE
"${LIBFUZZER_FLAGS_BASE} -O0 -fno-sanitize=all -fsanitize=dataflow")
foreach(Test ${DFSanTests})
- add_executable(LLVMFuzzer-${Test}
- ${Test}.cpp
+ add_executable(LLVMFuzzer-${Test}-DFSan
+ ../${Test}.cpp
)
- target_link_libraries(LLVMFuzzer-${Test}
+ target_link_libraries(LLVMFuzzer-${Test}-DFSan
LLVMFuzzer
)
endforeach()
Removed: llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp?rev=236908&view=auto
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp (original)
+++ llvm/trunk/lib/Fuzzer/test/dfsan/DFSanMemcmpTest.cpp (removed)
@@ -1,12 +0,0 @@
-// Simple test for a fuzzer. The fuzzer must find a particular string.
-#include <cstring>
-#include <cstdint>
-#include <cstdio>
-#include <cstdlib>
-
-extern "C" void LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- if (Size >= 8 && memcmp(Data, "01234567", 8) == 0) {
- fprintf(stderr, "BINGO\n");
- exit(1);
- }
-}
Removed: llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp?rev=236908&view=auto
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp (original)
+++ llvm/trunk/lib/Fuzzer/test/dfsan/DFSanSimpleCmpTest.cpp (removed)
@@ -1,30 +0,0 @@
-// Simple test for a fuzzer. The fuzzer must find several narrow ranges.
-#include <cstdint>
-#include <cstdlib>
-#include <cstring>
-#include <cstdio>
-
-extern "C" void LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- if (Size < 14) return;
- uint64_t x = 0;
- int64_t y = 0;
- int z = 0;
- unsigned short a = 0;
- memcpy(&x, Data, 8);
- memcpy(&y, Data + Size - 8, 8);
- memcpy(&z, Data + Size / 2, sizeof(z));
- memcpy(&a, Data + Size / 2 + 4, sizeof(a));
-
- if (x > 1234567890 &&
- x < 1234567895 &&
- y >= 987654321 &&
- y <= 987654325 &&
- z < -10000 &&
- z >= -10005 &&
- z != -10003 &&
- a == 4242) {
- fprintf(stderr, "BINGO; Found the target: size %zd (%zd, %zd, %d, %d), exiting.\n",
- Size, x, y, z, a);
- exit(1);
- }
-}
Modified: llvm/trunk/lib/Fuzzer/test/fuzzer.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/fuzzer.test?rev=236909&r1=236908&r2=236909&view=diff
==============================================================================
--- llvm/trunk/lib/Fuzzer/test/fuzzer.test (original)
+++ llvm/trunk/lib/Fuzzer/test/fuzzer.test Fri May 8 16:45:19 2015
@@ -19,9 +19,9 @@ RUN: not ./LLVMFuzzer-FourIndependentBra
RUN: not ./LLVMFuzzer-CounterTest -use_counters=1 -max_len=6 -seed=1 -timeout=15 2>&1 | FileCheck %s
-RUN: not ./LLVMFuzzer-DFSanSimpleCmpTest -seed=1 -runs=1000000 -timeout=5 2>&1 | FileCheck %s
+RUN: not ./LLVMFuzzer-DFSanSimpleCmpTest-DFSan -seed=1 -runs=1000000 -timeout=5 2>&1 | FileCheck %s
-RUN: not ./LLVMFuzzer-DFSanMemcmpTest -seed=1 -runs=100 -timeout=5 2>&1 | FileCheck %s
+RUN: not ./LLVMFuzzer-DFSanMemcmpTest-DFSan -seed=1 -runs=100 -timeout=5 2>&1 | FileCheck %s
RUN: not ./LLVMFuzzer-CxxTokensTest -seed=1 -timeout=15 -tokens=%S/../cxx_fuzzer_tokens.txt 2>&1 | FileCheck %s
More information about the llvm-commits
mailing list