Author: Chelsea Cassanova Date: 2022-06-23T16:55:23-04:00 New Revision: 40aace59cc58ca438060cf4dfd97ba01ff4f0ebc
URL: https://github.com/llvm/llvm-project/commit/40aace59cc58ca438060cf4dfd97ba01ff4f0ebc DIFF: https://github.com/llvm/llvm-project/commit/40aace59cc58ca438060cf4dfd97ba01ff4f0ebc.diff LOG: [lldb/Fuzzer] Have fuzzers write artifacts to specific directory This makes the LLDB fuzzers write their fuzzer artifacts to their own directory in the build directory. It also adds an artifact prefix to the target fuzzer to make it easier to tell which fuzzer wrote the artifact. Differential revision: https://reviews.llvm.org/D128450 Added: Modified: lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt Removed: ################################################################################ diff --git a/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt b/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt index 5bfae5b574e95..7eb85ba916709 100644 --- a/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt +++ b/lldb/tools/lldb-fuzzer/lldb-commandinterpreter-fuzzer/CMakeLists.txt @@ -14,15 +14,19 @@ if(TARGET lldb-commandinterpreter-fuzzer) liblldb ) - # This will create a directory specifically for the fuzzer's artifacts, go to that - # directory and run the fuzzer from there. When the fuzzer exits the input - # artifact that caused it to exit will be written to a directory within the - # build directory + # A directory in the build directory is created to hold the fuzzer's + # artifacts as a pre-build command for the command interpreter's executable + # target. When the fuzzer exits the input artifact that caused it to exit + # will be written to this directory. + + add_custom_command(TARGET lldb-commandinterpreter-fuzzer PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts + ) + add_custom_target(fuzz-lldb-commandinterpreter COMMENT "Running the LLDB command interpreter fuzzer..." - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts && - cd ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts - && $<TARGET_FILE:lldb-commandinterpreter-fuzzer> -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter- + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/fuzzer-artifacts/commandinterpreter-artifacts + COMMAND $<TARGET_FILE:lldb-commandinterpreter-fuzzer> -dict=${CMAKE_CURRENT_SOURCE_DIR}/inputdictionary.txt -only_ascii=1 -artifact_prefix=commandinterpreter- USES_TERMINAL ) endif() diff --git a/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt b/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt index 06df06c07d927..6876945c08da6 100644 --- a/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt +++ b/lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt @@ -15,9 +15,14 @@ if(TARGET lldb-target-fuzzer) lldbFuzzerUtils ) + add_custom_command(TARGET lldb-target-fuzzer PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/fuzzer-artifacts/target-artifacts + ) + add_custom_target(fuzz-lldb-target COMMENT "Running the LLDB target fuzzer..." - COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && $<TARGET_FILE:lldb-target-fuzzer> + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/fuzzer-artifacts/target-artifacts + COMMAND $<TARGET_FILE:lldb-target-fuzzer> -artifact_prefix=target- USES_TERMINAL ) endif() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits