summaryrefslogtreecommitdiff
path: root/test/fuzz
diff options
context:
space:
mode:
authorNathan Moinvaziri <nathan@nathanm.com>2022-04-02 15:31:22 -0700
committerHans Kristian Rosbach <hk-github@circlestorm.org>2022-04-04 09:25:28 +0200
commit12eb5aba08c5fa0ddf96ea94fff370f9531b5219 (patch)
tree8dbd30d7747067e55ec59751b3bac29a05b750b8 /test/fuzz
parent11f54459f30d71ebd4b36798ec1ea83f26ff72c3 (diff)
downloadProject-Tick-12eb5aba08c5fa0ddf96ea94fff370f9531b5219.tar.gz
Project-Tick-12eb5aba08c5fa0ddf96ea94fff370f9531b5219.zip
Move fuzzer cmake into fuzz directory.
Diffstat (limited to 'test/fuzz')
-rw-r--r--test/fuzz/CMakeLists.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/fuzz/CMakeLists.txt b/test/fuzz/CMakeLists.txt
new file mode 100644
index 0000000000..c21f9c1ca4
--- /dev/null
+++ b/test/fuzz/CMakeLists.txt
@@ -0,0 +1,44 @@
+cmake_minimum_required(VERSION 3.5.1)
+
+if(CMAKE_C_COMPILER_ID MATCHES "Clang")
+ enable_language(CXX)
+
+ if(DEFINED ENV{LIB_FUZZING_ENGINE})
+ set(FUZZING_ENGINE $ENV{LIB_FUZZING_ENGINE})
+ set(FUZZING_ENGINE_FOUND ON)
+ else()
+ find_library(FUZZING_ENGINE "FuzzingEngine")
+ endif()
+endif()
+
+set(FUZZERS
+ fuzzer_checksum
+ fuzzer_compress
+ fuzzer_example_small
+ fuzzer_example_large
+ fuzzer_example_flush
+ fuzzer_example_dict
+ )
+
+if(WITH_GZFILEOP)
+ list(APPEND FUZZERS fuzzer_minigzip)
+endif()
+
+foreach(FUZZER ${FUZZERS})
+ add_executable(${FUZZER} ${FUZZER}.c)
+
+ if(NOT FUZZING_ENGINE_FOUND)
+ target_sources(${FUZZER} PRIVATE standalone_fuzz_target_runner.c)
+ endif()
+
+ target_link_libraries(${FUZZER} zlibstatic)
+ if(FUZZING_ENGINE_FOUND)
+ target_link_libraries(${FUZZER} ${FUZZING_ENGINE})
+ endif()
+
+ if(ZLIB_ENABLE_TESTS)
+ file(GLOB FUZZER_TEST_FILES ${CMAKE_SOURCE_DIR}/*)
+ set(FUZZER_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:${FUZZER}> ${FUZZER_TEST_FILES})
+ add_test(NAME ${FUZZER} COMMAND ${FUZZER_COMMAND})
+ endif()
+endforeach()