summaryrefslogtreecommitdiff
path: root/Meta
diff options
context:
space:
mode:
authorTim Schumacher <timschumi@gmx.de>2023-05-23 00:21:44 +0200
committerAndreas Kling <kling@serenityos.org>2023-05-23 06:11:33 +0200
commit9690b4011b250a0c55a534e51f62af1fe1d10b37 (patch)
treeff4a3e8ce813bf0ff02454ddd4cc77b7add6ae7a /Meta
parentfaa08ef1a1e8a34de517e7ede66369b12dbfb111 (diff)
downloadserenity-9690b4011b250a0c55a534e51f62af1fe1d10b37.zip
Lagom: Extract the list of fuzzing targets to a separate file
Diffstat (limited to 'Meta')
-rw-r--r--Meta/Lagom/Fuzzers/CMakeLists.txt69
-rw-r--r--Meta/Lagom/Fuzzers/fuzzers.cmake129
2 files changed, 134 insertions, 64 deletions
diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt
index 9142ced919..7f5fde96c9 100644
--- a/Meta/Lagom/Fuzzers/CMakeLists.txt
+++ b/Meta/Lagom/Fuzzers/CMakeLists.txt
@@ -18,70 +18,11 @@ function(add_simple_fuzzer name)
endif()
endfunction()
-add_simple_fuzzer(FuzzBMPLoader LibGfx)
-add_simple_fuzzer(FuzzBrotli LibCompress)
-if (ENABLE_LAGOM_LIBWEB)
- add_simple_fuzzer(FuzzCSSParser LibWeb)
-endif()
-add_simple_fuzzer(FuzzCyrillicDecoder LibTextCodec)
-add_simple_fuzzer(FuzzDeflateCompression LibCompress)
-add_simple_fuzzer(FuzzDeflateDecompression LibCompress)
-add_simple_fuzzer(FuzzELF LibELF)
-add_simple_fuzzer(FuzzFlacLoader LibAudio)
-add_simple_fuzzer(FuzzGemini LibGemini)
-add_simple_fuzzer(FuzzGIFLoader LibGfx)
-add_simple_fuzzer(FuzzGzipCompression LibCompress)
-add_simple_fuzzer(FuzzGzipDecompression LibCompress)
-add_simple_fuzzer(FuzzICCProfile LibGfx)
-add_simple_fuzzer(FuzzICOLoader LibGfx)
-add_simple_fuzzer(FuzzJPEGLoader LibGfx)
-add_simple_fuzzer(FuzzLzmaDecompression LibArchive LibCompress)
-add_simple_fuzzer(FuzzLzmaRoundtrip LibCompress)
-add_simple_fuzzer(FuzzMatroskaReader LibVideo)
-add_simple_fuzzer(FuzzMD5 LibCrypto)
-add_simple_fuzzer(FuzzMP3Loader LibAudio)
-add_simple_fuzzer(FuzzPEM LibCrypto)
-add_simple_fuzzer(FuzzPNGLoader LibGfx)
-add_simple_fuzzer(FuzzPBMLoader LibGfx)
-add_simple_fuzzer(FuzzPGMLoader LibGfx)
-add_simple_fuzzer(FuzzPoly1305 LibCrypto)
-add_simple_fuzzer(FuzzPPMLoader LibGfx)
-add_simple_fuzzer(FuzzPDF LibPDF)
-add_simple_fuzzer(FuzzQOALoader LibAudio)
-add_simple_fuzzer(FuzzQOILoader LibGfx)
-add_simple_fuzzer(FuzzTGALoader LibGfx)
-add_simple_fuzzer(FuzzQuotedPrintableParser LibIMAP)
-add_simple_fuzzer(FuzzHebrewDecoder LibTextCodec)
-add_simple_fuzzer(FuzzHttpRequest LibHTTP)
-add_simple_fuzzer(FuzzIMAPParser LibIMAP)
-add_simple_fuzzer(FuzzJs LibJS)
-add_simple_fuzzer(FuzzLatin1Decoder LibTextCodec)
-add_simple_fuzzer(FuzzLatin2Decoder LibTextCodec)
-add_simple_fuzzer(FuzzMarkdown LibMarkdown)
-add_simple_fuzzer(FuzzRegexECMA262 LibRegex)
-add_simple_fuzzer(FuzzRegexPosixBasic LibRegex)
-add_simple_fuzzer(FuzzRegexPosixExtended LibRegex)
-add_simple_fuzzer(FuzzASN1 LibCrypto LibTLS)
-add_simple_fuzzer(FuzzSHA1 LibCrypto)
-add_simple_fuzzer(FuzzSHA256 LibCrypto)
-add_simple_fuzzer(FuzzSHA384 LibCrypto)
-add_simple_fuzzer(FuzzSHA512 LibCrypto)
-add_simple_fuzzer(FuzzShell LibShell)
-add_simple_fuzzer(FuzzShellPosix LibShell)
-add_simple_fuzzer(FuzzSQLParser LibSQL)
-add_simple_fuzzer(FuzzTar LibArchive)
-add_simple_fuzzer(FuzzTTF LibGfx)
-add_simple_fuzzer(FuzzURL)
-add_simple_fuzzer(FuzzUTF16BEDecoder LibTextCodec)
-add_simple_fuzzer(FuzzRSAKeyParsing LibCrypto)
-add_simple_fuzzer(FuzzVP9Decoder LibVideo)
-add_simple_fuzzer(FuzzWAVLoader LibAudio)
-add_simple_fuzzer(FuzzWasmParser LibWasm)
-add_simple_fuzzer(FuzzWebPLoader LibGfx)
-add_simple_fuzzer(FuzzWOFF LibGfx)
-add_simple_fuzzer(FuzzXML LibXML)
-add_simple_fuzzer(FuzzZip LibArchive)
-add_simple_fuzzer(FuzzZlibDecompression LibCompress)
+include(fuzzers.cmake)
+
+foreach(target IN LISTS FUZZER_TARGETS)
+ add_simple_fuzzer("Fuzz${target}" "${FUZZER_DEPENDENCIES_${target}}")
+endforeach()
if (ENABLE_FUZZERS_LIBFUZZER)
set(CMAKE_EXE_LINKER_FLAGS "${ORIGINAL_CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
diff --git a/Meta/Lagom/Fuzzers/fuzzers.cmake b/Meta/Lagom/Fuzzers/fuzzers.cmake
new file mode 100644
index 0000000000..e767daefa6
--- /dev/null
+++ b/Meta/Lagom/Fuzzers/fuzzers.cmake
@@ -0,0 +1,129 @@
+set(FUZZER_TARGETS
+ ASN1
+ BMPLoader
+ Brotli
+ CyrillicDecoder
+ DeflateCompression
+ DeflateDecompression
+ ELF
+ FlacLoader
+ Gemini
+ GIFLoader
+ GzipCompression
+ GzipDecompression
+ HebrewDecoder
+ HttpRequest
+ ICCProfile
+ ICOLoader
+ IMAPParser
+ JPEGLoader
+ Js
+ Latin1Decoder
+ Latin2Decoder
+ LzmaDecompression
+ LzmaRoundtrip
+ Markdown
+ MatroskaReader
+ MD5
+ MP3Loader
+ PBMLoader
+ PDF
+ PEM
+ PGMLoader
+ PNGLoader
+ Poly1305
+ PPMLoader
+ QOALoader
+ QOILoader
+ QuotedPrintableParser
+ RegexECMA262
+ RegexPosixBasic
+ RegexPosixExtended
+ RSAKeyParsing
+ SHA1
+ SHA256
+ SHA384
+ SHA512
+ Shell
+ ShellPosix
+ SQLParser
+ Tar
+ TGALoader
+ TTF
+ URL
+ UTF16BEDecoder
+ VP9Decoder
+ WasmParser
+ WAVLoader
+ WebPLoader
+ WOFF
+ XML
+ Zip
+ ZlibDecompression
+)
+
+if (ENABLE_LAGOM_LIBWEB)
+ list(APPEND FUZZER_TARGETS CSSParser)
+endif()
+
+set(FUZZER_DEPENDENCIES_ASN1 LibCrypto LibTLS)
+set(FUZZER_DEPENDENCIES_BMPLoader LibGfx)
+set(FUZZER_DEPENDENCIES_Brotli LibCompress)
+set(FUZZER_DEPENDENCIES_CSSParser LibWeb)
+set(FUZZER_DEPENDENCIES_CyrillicDecoder LibTextCodec)
+set(FUZZER_DEPENDENCIES_DeflateCompression LibCompress)
+set(FUZZER_DEPENDENCIES_DeflateDecompression LibCompress)
+set(FUZZER_DEPENDENCIES_ELF LibELF)
+set(FUZZER_DEPENDENCIES_FlacLoader LibAudio)
+set(FUZZER_DEPENDENCIES_Gemini LibGemini)
+set(FUZZER_DEPENDENCIES_GIFLoader LibGfx)
+set(FUZZER_DEPENDENCIES_GzipCompression LibCompress)
+set(FUZZER_DEPENDENCIES_GzipDecompression LibCompress)
+set(FUZZER_DEPENDENCIES_HebrewDecoder LibTextCodec)
+set(FUZZER_DEPENDENCIES_HttpRequest LibHTTP)
+set(FUZZER_DEPENDENCIES_ICCProfile LibGfx)
+set(FUZZER_DEPENDENCIES_ICOLoader LibGfx)
+set(FUZZER_DEPENDENCIES_IMAPParser LibIMAP)
+set(FUZZER_DEPENDENCIES_JPEGLoader LibGfx)
+set(FUZZER_DEPENDENCIES_Js LibJS)
+set(FUZZER_DEPENDENCIES_Latin1Decoder LibTextCodec)
+set(FUZZER_DEPENDENCIES_Latin2Decoder LibTextCodec)
+set(FUZZER_DEPENDENCIES_LzmaDecompression LibArchive LibCompress)
+set(FUZZER_DEPENDENCIES_LzmaRoundtrip LibCompress)
+set(FUZZER_DEPENDENCIES_Markdown LibMarkdown)
+set(FUZZER_DEPENDENCIES_MatroskaReader LibVideo)
+set(FUZZER_DEPENDENCIES_MD5 LibCrypto)
+set(FUZZER_DEPENDENCIES_MP3Loader LibAudio)
+set(FUZZER_DEPENDENCIES_PBMLoader LibGfx)
+set(FUZZER_DEPENDENCIES_PDF LibPDF)
+set(FUZZER_DEPENDENCIES_PEM LibCrypto)
+set(FUZZER_DEPENDENCIES_PGMLoader LibGfx)
+set(FUZZER_DEPENDENCIES_PNGLoader LibGfx)
+set(FUZZER_DEPENDENCIES_Poly1305 LibCrypto)
+set(FUZZER_DEPENDENCIES_PPMLoader LibGfx)
+set(FUZZER_DEPENDENCIES_QOALoader LibAudio)
+set(FUZZER_DEPENDENCIES_QOILoader LibGfx)
+set(FUZZER_DEPENDENCIES_QuotedPrintableParser LibIMAP)
+set(FUZZER_DEPENDENCIES_RegexECMA262 LibRegex)
+set(FUZZER_DEPENDENCIES_RegexPosixBasic LibRegex)
+set(FUZZER_DEPENDENCIES_RegexPosixExtended LibRegex)
+set(FUZZER_DEPENDENCIES_RSAKeyParsing LibCrypto)
+set(FUZZER_DEPENDENCIES_SHA1 LibCrypto)
+set(FUZZER_DEPENDENCIES_SHA256 LibCrypto)
+set(FUZZER_DEPENDENCIES_SHA384 LibCrypto)
+set(FUZZER_DEPENDENCIES_SHA512 LibCrypto)
+set(FUZZER_DEPENDENCIES_Shell LibShell)
+set(FUZZER_DEPENDENCIES_ShellPosix LibShell)
+set(FUZZER_DEPENDENCIES_SQLParser LibSQL)
+set(FUZZER_DEPENDENCIES_Tar LibArchive)
+set(FUZZER_DEPENDENCIES_TGALoader LibGfx)
+set(FUZZER_DEPENDENCIES_TTF LibGfx)
+set(FUZZER_DEPENDENCIES_UTF16BEDecoder LibTextCodec)
+set(FUZZER_DEPENDENCIES_VP9Decoder LibVideo)
+set(FUZZER_DEPENDENCIES_WasmParser LibWasm)
+set(FUZZER_DEPENDENCIES_WAVLoader LibAudio)
+set(FUZZER_DEPENDENCIES_WebPLoader LibGfx)
+set(FUZZER_DEPENDENCIES_WOFF LibGfx)
+set(FUZZER_DEPENDENCIES_XML LibXML)
+set(FUZZER_DEPENDENCIES_Zip LibArchive)
+set(FUZZER_DEPENDENCIES_ZlibDecompression LibCompress)