Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,11 @@ option(FLB_HTTP_CLIENT_DEBUG "Enable HTTP Client debug callbacks" No)
# Run ldconfig on package post-install
option(FLB_RUN_LDCONFIG "Enable execution of ldconfig after installation" No)

include(CMakeDependentOption)

# Coverage types.
cmake_dependent_option(FLB_COVERAGE_TYPE "Coverage type" Yes "FLB_COVERAGE" No)

# Enable all features
if(FLB_ALL)
# Global
Expand Down Expand Up @@ -432,7 +437,11 @@ if(FLB_SMALL)
endif()

if(FLB_COVERAGE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
if("llvm" STREQUAL FLB_COVERAGE_TYPE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-instr-generate -fcoverage-mapping")
elseif("gcov" STREQUAL FLB_COVERAGE_TYPE OR FLB_COVERAGE_TYPE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
endif()
set(CMAKE_BUILD_TYPE "Debug")
endif()

Expand Down
9 changes: 9 additions & 0 deletions tests/internal/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,15 @@ function(prepare_unit_tests TEST_PREFIX SOURCEFILES)
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${source_file_we}
WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/build)
set_tests_properties(${source_file_we} PROPERTIES LABELS "internal")

if("llvm" STREQUAL FLB_COVERAGE_TYPE)
list(APPEND env_vars "LLVM_PROFILE_FILE=${CMAKE_CURRENT_BINARY_DIR}/${source_file_we}.profraw")
endif()

if(env_vars)
set_tests_properties(${source_file_we} PROPERTIES ENVIRONMENT "${env_vars}")
unset(env_vars)
endif()
endif()
endforeach()
endfunction(prepare_unit_tests)
Expand Down
9 changes: 9 additions & 0 deletions tests/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,14 @@ foreach(source_file ${CHECK_PROGRAMS})
WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/build)
set_tests_properties(${source_file_we} PROPERTIES LABELS "runtime")
set_property(TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-D${o_source_file_we}")

if("llvm" STREQUAL FLB_COVERAGE_TYPE)
list(APPEND env_vars "LLVM_PROFILE_FILE=${CMAKE_CURRENT_BINARY_DIR}/${source_file_we}.profraw")
endif()

if(env_vars)
set_tests_properties(${source_file_we} PROPERTIES ENVIRONMENT "${env_vars}")
unset(env_vars)
endif()
endif()
endforeach()
17 changes: 11 additions & 6 deletions tests/runtime_shell/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,15 @@ foreach(script ${UNIT_TESTS_SH})
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${script}
)

set_tests_properties(${script} PROPERTIES ENVIRONMENT
"FLB_ROOT=${PROJECT_SOURCE_DIR};\
FLB_RUNTIME_SHELL_PATH=${CMAKE_CURRENT_SOURCE_DIR};\
FLB_RUNTIME_SHELL_CONF=${CMAKE_CURRENT_SOURCE_DIR}/conf;\
FLB_BIN=${CMAKE_BINARY_DIR}/bin/fluent-bit"
)
list(APPEND env_vars "FLB_ROOT=${PROJECT_SOURCE_DIR}")
list(APPEND env_vars "FLB_RUNTIME_SHELL_PATH=${CMAKE_CURRENT_SOURCE_DIR}")
list(APPEND env_vars "FLB_RUNTIME_SHELL_CONF=${CMAKE_CURRENT_SOURCE_DIR}/conf")
list(APPEND env_vars "FLB_BIN=${CMAKE_BINARY_DIR}/bin/fluent-bit")

if("llvm" STREQUAL FLB_COVERAGE_TYPE)
list(APPEND env_vars "LLVM_PROFILE_FILE=${CMAKE_CURRENT_BINARY_DIR}/${script}.profraw")
endif()

set_tests_properties(${script} PROPERTIES ENVIRONMENT "${env_vars}")
unset(env_vars)
endforeach()