forked from OSchip/llvm-project
[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
This commit is contained in:
parent
a1f20da315
commit
40aace59cc
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue