@@ -20,80 +20,80 @@ endif ()
20
20
# --------------------------------------------------------------------------- #
21
21
# --------------------- Test Configuration Start ---------------------------- #
22
22
# --------------------------------------------------------------------------- #
23
+ if (SC_BUILD_TEST )
23
24
24
- include (CTest )
25
- include (CheckCCompilerFlag )
25
+ include (CTest )
26
+ include (CheckCCompilerFlag )
26
27
27
- enable_testing ()
28
+ enable_testing ()
28
29
29
- add_executable (${PROJECT_NAME} _test buf_test.c sc_buf.c )
30
+ add_executable (${PROJECT_NAME} _test buf_test.c sc_buf.c )
30
31
31
- target_compile_options (${PROJECT_NAME} _test PRIVATE -DSC_SIZE_MAX=140000ul )
32
+ target_compile_options (${PROJECT_NAME} _test PRIVATE -DSC_SIZE_MAX=140000ul )
32
33
33
- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
34
- if ("${CMAKE_C_COMPILER_ID} " STREQUAL "Clang" OR
35
- "${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
36
- target_compile_options (${PROJECT_NAME} _test PRIVATE -DSC_HAVE_WRAP )
37
- target_compile_options (${PROJECT_NAME} _test PRIVATE -fno-builtin )
38
- target_link_options (${PROJECT_NAME} _test PRIVATE
39
- -Wl,--wrap=vsnprintf,--wrap=malloc,--wrap=realloc,--wrap=strlen )
40
- endif ()
41
- endif ()
34
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
35
+ if ("${CMAKE_C_COMPILER_ID} " STREQUAL "Clang" OR
36
+ "${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
37
+ target_compile_options (${PROJECT_NAME} _test PRIVATE -DSC_HAVE_WRAP )
38
+ target_compile_options (${PROJECT_NAME} _test PRIVATE -fno-builtin )
39
+ target_link_options (${PROJECT_NAME} _test PRIVATE
40
+ -Wl,--wrap=vsnprintf,--wrap=malloc,--wrap=realloc,--wrap=strlen )
41
+ endif ()
42
+ endif ()
42
43
43
- if ("${CMAKE_C_COMPILER_ID} " STREQUAL "Clang" OR
44
- "${CMAKE_C_COMPILER_ID} " STREQUAL "AppleClang" OR
45
- "${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
46
- target_compile_options (${PROJECT_NAME} _test PRIVATE -fno-omit-frame-pointer )
44
+ if ("${CMAKE_C_COMPILER_ID} " STREQUAL "Clang" OR
45
+ "${CMAKE_C_COMPILER_ID} " STREQUAL "AppleClang" OR
46
+ "${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
47
+ target_compile_options (${PROJECT_NAME} _test PRIVATE -fno-omit-frame-pointer )
47
48
48
- if (SANITIZER )
49
- target_compile_options (${PROJECT_NAME} _test PRIVATE -fsanitize=${SANITIZER} )
50
- target_link_options (${PROJECT_NAME} _test PRIVATE -fsanitize=${SANITIZER} )
51
- endif ()
52
- endif ()
49
+ if (SANITIZER )
50
+ target_compile_options (${PROJECT_NAME} _test PRIVATE -fsanitize=${SANITIZER} )
51
+ target_link_options (${PROJECT_NAME} _test PRIVATE -fsanitize=${SANITIZER} )
52
+ endif ()
53
+ endif ()
53
54
54
- add_test (NAME ${PROJECT_NAME} _test COMMAND ${PROJECT_NAME} _test )
55
+ add_test (NAME ${PROJECT_NAME} _test COMMAND ${PROJECT_NAME} _test )
55
56
56
- SET (MEMORYCHECK_COMMAND_OPTIONS
57
- "-q --log-fd=2 --trace-children=yes --track-origins=yes \
58
- --leak-check=full --show-leak-kinds=all \
59
- --error-exitcode=255" )
57
+ SET (MEMORYCHECK_COMMAND_OPTIONS
58
+ "-q --log-fd=2 --trace-children=yes --track-origins=yes \
59
+ --leak-check=full --show-leak-kinds=all \
60
+ --error-exitcode=255" )
60
61
61
- add_custom_target (valgrind_${PROJECT_NAME} ${CMAKE_COMMAND}
62
- -E env CTEST_OUTPUT_ON_FAILURE=1
63
- ${CMAKE_CTEST_COMMAND} -C $< CONFIG>
64
- --overwrite MemoryCheckCommandOptions=${MEMORYCHECK_COMMAND_OPTIONS}
65
- --verbose -T memcheck WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
62
+ add_custom_target (valgrind_${PROJECT_NAME} ${CMAKE_COMMAND}
63
+ -E env CTEST_OUTPUT_ON_FAILURE=1
64
+ ${CMAKE_CTEST_COMMAND} -C $< CONFIG>
65
+ --overwrite MemoryCheckCommandOptions=${MEMORYCHECK_COMMAND_OPTIONS}
66
+ --verbose -T memcheck WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
66
67
67
- add_custom_target (check_${PROJECT_NAME} ${CMAKE_COMMAND}
68
- -E env CTEST_OUTPUT_ON_FAILURE=1
69
- ${CMAKE_CTEST_COMMAND} -C $< CONFIG> --verbose
70
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
68
+ add_custom_target (check_${PROJECT_NAME} ${CMAKE_COMMAND}
69
+ -E env CTEST_OUTPUT_ON_FAILURE=1
70
+ ${CMAKE_CTEST_COMMAND} -C $< CONFIG> --verbose
71
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
71
72
72
73
# ----------------------- - Code Coverage Start ----------------------------- #
73
74
74
- if (${CMAKE_BUILD_TYPE} MATCHES "Coverage" )
75
- if ("${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
76
- target_compile_options (${PROJECT_NAME} _test PRIVATE --coverage )
77
- target_link_libraries (${PROJECT_NAME} _test gcov )
78
- else ()
79
- message (FATAL_ERROR " Only GCC is supported for coverage" )
80
- endif ()
81
- endif ()
82
-
83
- add_custom_target (coverage_${PROJECT_NAME} )
84
- add_custom_command (
85
- TARGET coverage_${PROJECT_NAME}
86
- COMMAND lcov --capture --directory .
87
- --output-file coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
88
- COMMAND lcov --remove coverage.info '/usr/*' '*example*' '*test*'
89
- --output-file coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
90
- COMMAND lcov --list coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
91
- )
92
-
93
- add_dependencies (coverage_${PROJECT_NAME} check_${PROJECT_NAME} )
75
+ if (${CMAKE_BUILD_TYPE} MATCHES "Coverage" )
76
+ if ("${CMAKE_C_COMPILER_ID} " STREQUAL "GNU" )
77
+ target_compile_options (${PROJECT_NAME} _test PRIVATE --coverage )
78
+ target_link_libraries (${PROJECT_NAME} _test gcov )
79
+ else ()
80
+ message (FATAL_ERROR " Only GCC is supported for coverage" )
81
+ endif ()
82
+ endif ()
83
+
84
+ add_custom_target (coverage_${PROJECT_NAME} )
85
+ add_custom_command (
86
+ TARGET coverage_${PROJECT_NAME}
87
+ COMMAND lcov --capture --directory .
88
+ --output-file coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
89
+ COMMAND lcov --remove coverage.info '/usr/*' '*example*' '*test*'
90
+ --output-file coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
91
+ COMMAND lcov --list coverage.info --rc lcov_branch_coverage=1 --rc lcov_excl_br_line='assert'
92
+ )
93
+
94
+ add_dependencies (coverage_${PROJECT_NAME} check_${PROJECT_NAME} )
94
95
95
96
# -------------------------- Code Coverage End ------------------------------ #
96
-
97
-
97
+ endif ()
98
98
# ----------------------- Test Configuration End ---------------------------- #
99
99
0 commit comments