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

test-fuzz: Don't include all fuzzers into the same .cpp file

Instead, use the approach from BuggieBox to compile in the .cpp files
separately.
This commit is contained in:
Tim Schumacher 2023-05-22 23:14:37 +02:00 committed by Andreas Kling
parent 38a553e1ce
commit faa08ef1a1
2 changed files with 29 additions and 80 deletions

View file

@ -158,3 +158,31 @@ 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)
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")