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_target ${ARGN}) | foreach(_fuzz_target ${ARGN}) | ||||
sanitize_target_name("fuzz-" ${_fuzz_target} _target_name) | sanitize_target_name("fuzz-" ${_fuzz_target} _target_name) | ||||
add_executable(${_target_name} EXCLUDE_FROM_ALL | add_executable(${_target_name} EXCLUDE_FROM_ALL | ||||
../test_bitcoin_fuzzy.cpp | deserialize.cpp | ||||
fuzz.cpp | fuzz.cpp | ||||
) | ) | ||||
set_target_properties(${_target_name} PROPERTIES OUTPUT_NAME ${_fuzz_target}) | set_target_properties(${_target_name} PROPERTIES OUTPUT_NAME ${_fuzz_target}) | ||||
sanitize_c_cxx_definition("" ${_fuzz_target} _target_definition) | sanitize_c_cxx_definition("" ${_fuzz_target} _target_definition) | ||||
string(TOUPPER ${_target_definition} _target_definition) | string(TOUPPER ${_target_definition} _target_definition) | ||||
target_compile_definitions(${_target_name} PRIVATE ${_target_definition}) | target_compile_definitions(${_target_name} PRIVATE ${_target_definition}) | ||||
target_link_libraries(${_target_name} server) | target_link_libraries(${_target_name} server) | ||||
if("fuzzer" IN_LIST ENABLE_SANITIZERS) | if("fuzzer" IN_LIST ENABLE_SANITIZERS) | ||||
target_compile_options(${_target_name} PRIVATE -fsanitize=fuzzer) | target_compile_options(${_target_name} PRIVATE -fsanitize=fuzzer) | ||||
target_link_libraries(${_target_name} -fsanitize=fuzzer) | target_link_libraries(${_target_name} -fsanitize=fuzzer) | ||||
endif() | endif() | ||||
add_dependencies(bitcoin-fuzzers ${_target_name}) | add_dependencies(bitcoin-fuzzers ${_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 | ||||
blocktransactionsrequest_deserialize | blocktransactionsrequest_deserialize | ||||
blockundo_deserialize | blockundo_deserialize | ||||
bloomfilter_deserialize | bloomfilter_deserialize | ||||
coins_deserialize | coins_deserialize | ||||
diskblockindex_deserialize | diskblockindex_deserialize | ||||
inv_deserialize | inv_deserialize | ||||
messageheader_deserialize | messageheader_deserialize | ||||
netaddr_deserialize | netaddr_deserialize | ||||
service_deserialize | service_deserialize | ||||
transaction_deserialize | transaction_deserialize | ||||
txoutcompressor_deserialize | txoutcompressor_deserialize | ||||
txundo_deserialize | txundo_deserialize | ||||
) | ) | ||||
No newline at end of file | No newline at end of file |