1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 17:37:47 +00:00

test-fuzz: Add all the missing fuzzers

This commit is contained in:
Tim Schumacher 2023-05-23 00:34:01 +02:00 committed by Andreas Kling
parent 9690b4011b
commit 0f2b6345c6
4 changed files with 55 additions and 27 deletions

View file

@ -137,7 +137,6 @@ target_link_libraries(syscall PRIVATE LibSystem)
target_link_libraries(ttfdisasm PRIVATE LibGfx)
target_link_libraries(tar PRIVATE LibArchive LibCompress LibFileSystem)
target_link_libraries(telws PRIVATE LibProtocol LibLine)
target_link_libraries(test-fuzz PRIVATE LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibRegex LibShell)
target_link_libraries(test-imap PRIVATE LibIMAP)
target_link_libraries(test-pthread PRIVATE LibThreading)
target_link_libraries(touch PRIVATE LibFileSystem)
@ -159,30 +158,12 @@ target_link_libraries(zip PRIVATE LibArchive LibCompress LibCrypto LibFileSystem
# FIXME: Link this file into headless-browser without compiling it again.
target_sources(headless-browser PRIVATE "${SerenityOS_SOURCE_DIR}/Userland/Services/WebContent/WebDriverConnection.cpp")
function (add_fuzzing_target name)
include("${SerenityOS_SOURCE_DIR}/Meta/Lagom/Fuzzers/fuzzers.cmake")
foreach(name IN LISTS FUZZER_TARGETS)
set(fuzz_source_file "${SerenityOS_SOURCE_DIR}/Meta/Lagom/Fuzzers/Fuzz${name}.cpp")
target_sources(test-fuzz PRIVATE "${fuzz_source_file}")
set_source_files_properties("${fuzz_source_file}" PROPERTIES COMPILE_DEFINITIONS "LLVMFuzzerTestOneInput=Test${name}")
set_source_files_properties("${fuzz_source_file}" PROPERTIES COMPILE_OPTIONS "-Wno-missing-declarations")
endfunction()
add_fuzzing_target("BMPLoader")
add_fuzzing_target("ELF")
add_fuzzing_target("Gemini")
add_fuzzing_target("GIFLoader")
add_fuzzing_target("HttpRequest")
add_fuzzing_target("ICOLoader")
add_fuzzing_target("JPEGLoader")
add_fuzzing_target("Js")
add_fuzzing_target("Markdown")
add_fuzzing_target("PBMLoader")
add_fuzzing_target("PGMLoader")
add_fuzzing_target("PNGLoader")
add_fuzzing_target("PPMLoader")
add_fuzzing_target("QOILoader")
add_fuzzing_target("TGALoader")
add_fuzzing_target("RegexECMA262")
add_fuzzing_target("RegexPosixExtended")
add_fuzzing_target("Shell")
add_fuzzing_target("TTF")
add_fuzzing_target("URL")
target_link_libraries(test-fuzz PRIVATE "${FUZZER_DEPENDENCIES_${name}}")
endforeach()