mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
This adds the env option PX4_FUZZ which runs the LLVM libFuzzer which throws random bytes at mavlink_receiver using MAVLink messages over UDP. The MAVLink messages that are being sent are valid, so the CRC is calculated but the payload and msgid, etc. are generally garbage, unless the fuzzing gets a msgid right by chance. As I understand it, libFuzzer watches the test coverage and will try to execute as much of the code as possible.
21 lines
795 B
CMake
21 lines
795 B
CMake
set(config_sitl_viewer jmavsim CACHE STRING "viewer for sitl")
|
|
set_property(CACHE config_sitl_viewer PROPERTY STRINGS "jmavsim;none")
|
|
|
|
set(config_sitl_debugger disable CACHE STRING "debugger for sitl")
|
|
set_property(CACHE config_sitl_debugger PROPERTY STRINGS "disable;gdb;lldb")
|
|
|
|
# If the environment variable 'replay' is defined, we are building with replay
|
|
# support. In this case, we enable the orb publisher rules.
|
|
set(REPLAY_FILE "$ENV{replay}")
|
|
if(REPLAY_FILE)
|
|
message(STATUS "Building with uorb publisher rules support")
|
|
add_definitions(-DORB_USE_PUBLISHER_RULES)
|
|
|
|
message(STATUS "Building without lockstep for replay")
|
|
set(ENABLE_LOCKSTEP_SCHEDULER no)
|
|
elif(CMAKE_BUILD_TYPE STREQUAL FuzzTesting)
|
|
set(ENABLE_LOCKSTEP_SCHEDULER no)
|
|
else()
|
|
set(ENABLE_LOCKSTEP_SCHEDULER yes)
|
|
endif()
|