mirror of
https://github.com/falcosecurity/falco.git
synced 2026-03-20 03:32:09 +00:00
Test infrastructure and sample confs/rules/traces for plugins automated tests: New test cases are in falco_tests_plugins.yaml and cover: - Listing plugins and fields when plugins are loaded. - Basic cloudtrail + json plugin on a fake cloudtrail json file and a sample rule that uses both plugins. - Conflicts between source/extractor plugins - Incompatible plugin api - Wrong plugin path - Checking for warnings when reading rules with unnown sources (e.g. when plugins are not loaded) Some test-only plugins written in C are in test/plugins and built on the fly. (They aren't included in packages of course). The test framework needed some small changes to handle these tests: - Add a mode to not check detection counts at all (for --list/--list-plugins) - addl_cmdline_opts to allow specifying --list/--list-plugins - Using DOTALL when matching stderr/stdout (allows multi-line matches more easily) Signed-off-by: Mark Stemm <mark.stemm@gmail.com>
17 lines
763 B
CMake
17 lines
763 B
CMake
# This list is populated at cmake time, not build time
|
|
file(GLOB test_conf_files
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/*.yaml")
|
|
|
|
foreach(conf_file_path ${test_conf_files})
|
|
get_filename_component(conf_file ${conf_file_path} NAME)
|
|
add_custom_target(test-conf-${conf_file} ALL
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${conf_file})
|
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${conf_file}
|
|
COMMAND sed -e s!BUILD_DIR!${CMAKE_BINARY_DIR}! < ${CMAKE_CURRENT_SOURCE_DIR}/${conf_file} > ${CMAKE_CURRENT_BINARY_DIR}/${conf_file}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${conf_file})
|
|
list(APPEND PLUGINS_CONF_FILES_TARGETS test-conf-${conf_file})
|
|
endforeach()
|
|
|
|
add_custom_target(conf-files-plugins ALL)
|
|
add_dependencies(conf-files-plugins ${PLUGINS_CONF_FILES_TARGETS})
|