tests: Clean up test variants

We use now CMake presets for testing different configurations. Therefore
the CMake code for test variants is not needed anymore.
This commit is contained in:
Lukas Woodtli 2024-08-27 16:06:19 +02:00 committed by Lukas Woodtli
parent 1d6dfdebb0
commit 03e2a63fb8
2 changed files with 31 additions and 48 deletions

View File

@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.13)
project(lwm2munittests C)
include(../wakaama.cmake)
include(tests.cmake)
set(TEST_SOURCES
helper/log_handler.c
@ -24,4 +23,34 @@ set(TEST_SOURCES
unittests.c
)
add_test_variant(TARGET_NAME lwm2munittests SOURCE_FILES ${TEST_SOURCES})
set(TARGET_NAME lwm2munittests)
add_executable(${TARGET_NAME})
target_sources(${TARGET_NAME} PRIVATE ${TEST_SOURCES})
set_target_properties(${TARGET_NAME} PROPERTIES CONNECTION_IMPLEMENTATION "testing")
set_defines(${TARGET_NAME})
# link CUnit
include(FindPkgConfig)
pkg_search_module(CUNIT REQUIRED IMPORTED_TARGET cunit)
target_link_libraries(${TARGET_NAME} PRIVATE PkgConfig::CUNIT)
# Our tests are designed for POSIX systems
target_compile_definitions(${TARGET_NAME} PRIVATE _POSIX_C_SOURCE=200809)
target_sources_wakaama(${TARGET_NAME})
target_sources_shared(${TARGET_NAME})
if(SANITIZER)
target_compile_options(${TARGET_NAME} PRIVATE -fsanitize=${SANITIZER} -fno-sanitize-recover=all)
target_link_options(${TARGET_NAME} PRIVATE -fsanitize=${SANITIZER} -fno-sanitize-recover=all)
endif()
if(COVERAGE)
target_compile_options(${TARGET_NAME} PRIVATE --coverage)
target_link_options(${TARGET_NAME} PRIVATE --coverage)
endif()
# Add our unit tests to the "test" target
add_test(NAME ${TARGET_NAME}_test COMMAND ${TARGET_NAME})

View File

@ -1,46 +0,0 @@
# Run the unit tests with different configurations (defines)
# ~~~
# TARGET_NAME: The name of the test executable target
# SOURCE_FILES: Source files used for the test
# COMPILE_DEFINITIONS: Defines set for this test variant
function(add_test_variant)
set(oneValueArgs TARGET_NAME)
set(multiValueArgs SOURCE_FILES COMPILE_DEFINITIONS)
cmake_parse_arguments(ADD_TEST_VARIANT_ARG "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
add_executable(${ADD_TEST_VARIANT_ARG_TARGET_NAME})
target_sources(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE ${ADD_TEST_VARIANT_ARG_SOURCE_FILES})
set_target_properties(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PROPERTIES CONNECTION_IMPLEMENTATION "testing")
set_defines(${ADD_TEST_VARIANT_ARG_TARGET_NAME})
# link CUnit
include(FindPkgConfig)
pkg_search_module(CUNIT REQUIRED IMPORTED_TARGET cunit)
target_link_libraries(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE PkgConfig::CUNIT)
target_compile_definitions(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE ${ADD_TEST_VARIANT_ARG_COMPILE_DEFINITIONS})
# Our tests are designed for POSIX systems
target_compile_definitions(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE _POSIX_C_SOURCE=200809)
target_sources_wakaama(${ADD_TEST_VARIANT_ARG_TARGET_NAME})
target_sources_shared(${ADD_TEST_VARIANT_ARG_TARGET_NAME})
if(SANITIZER)
target_compile_options(
${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE -fsanitize=${SANITIZER} -fno-sanitize-recover=all
)
target_link_options(
${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE -fsanitize=${SANITIZER} -fno-sanitize-recover=all
)
endif()
if(COVERAGE)
target_compile_options(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE --coverage)
target_link_options(${ADD_TEST_VARIANT_ARG_TARGET_NAME} PRIVATE --coverage)
endif()
# Add our unit tests to the "test" target
add_test(NAME ${ADD_TEST_VARIANT_ARG_TARGET_NAME}_test COMMAND ${ADD_TEST_VARIANT_ARG_TARGET_NAME})
endfunction()