Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/CMakeLists.txt
# Fuzzer test harness | # Fuzzer test harness | ||||
add_custom_target(bitcoin-fuzzers) | add_custom_target(bitcoin-fuzzers) | ||||
include(SanitizeHelper) | include(SanitizeHelper) | ||||
function(add_fuzz_targets) | function(add_deserialize_fuzz_targets) | ||||
foreach(_fuzz_test_name ${ARGN}) | foreach(_fuzz_test_name ${ARGN}) | ||||
sanitize_target_name("fuzz-" ${_fuzz_test_name} _fuzz_target_name) | sanitize_target_name("fuzz-" ${_fuzz_test_name} _fuzz_target_name) | ||||
add_executable(${_fuzz_target_name} EXCLUDE_FROM_ALL | add_executable(${_fuzz_target_name} EXCLUDE_FROM_ALL | ||||
../test_bitcoin_fuzzy.cpp | deserialize.cpp | ||||
fuzz.cpp | fuzz.cpp | ||||
) | ) | ||||
set_target_properties(${_fuzz_target_name} PROPERTIES OUTPUT_NAME ${_fuzz_test_name}) | set_target_properties(${_fuzz_target_name} PROPERTIES OUTPUT_NAME ${_fuzz_test_name}) | ||||
sanitize_c_cxx_definition("" ${_fuzz_test_name} _target_definition) | sanitize_c_cxx_definition("" ${_fuzz_test_name} _target_definition) | ||||
string(TOUPPER ${_target_definition} _target_definition) | string(TOUPPER ${_target_definition} _target_definition) | ||||
target_compile_definitions(${_fuzz_target_name} PRIVATE ${_target_definition}) | target_compile_definitions(${_fuzz_target_name} PRIVATE ${_target_definition}) | ||||
target_link_libraries(${_fuzz_target_name} server) | target_link_libraries(${_fuzz_target_name} server) | ||||
if("fuzzer" IN_LIST ENABLE_SANITIZERS) | if("fuzzer" IN_LIST ENABLE_SANITIZERS) | ||||
target_compile_options(${_fuzz_target_name} PRIVATE -fsanitize=fuzzer) | target_compile_options(${_fuzz_target_name} PRIVATE -fsanitize=fuzzer) | ||||
target_link_libraries(${_fuzz_target_name} -fsanitize=fuzzer) | target_link_libraries(${_fuzz_target_name} -fsanitize=fuzzer) | ||||
endif() | endif() | ||||
add_dependencies(bitcoin-fuzzers ${_fuzz_target_name}) | add_dependencies(bitcoin-fuzzers ${_fuzz_target_name}) | ||||
endforeach() | endforeach() | ||||
endfunction() | endfunction() | ||||
add_fuzz_targets( | add_deserialize_fuzz_targets( | ||||
address_deserialize | address_deserialize | ||||
addrman_deserialize | addrman_deserialize | ||||
banentry_deserialize | banentry_deserialize | ||||
block_deserialize | block_deserialize | ||||
blockheader_deserialize | blockheader_deserialize | ||||
blocklocator_deserialize | blocklocator_deserialize | ||||
blockmerkleroot | blockmerkleroot | ||||
blocktransactions_deserialize | blocktransactions_deserialize | ||||
Show All 13 Lines |