Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
97
tools/EVerest-main/lib/everest/ocpp/tests/CMakeLists.txt
Normal file
97
tools/EVerest-main/lib/everest/ocpp/tests/CMakeLists.txt
Normal file
@@ -0,0 +1,97 @@
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/libocpp-unittests.cmake)
|
||||
|
||||
# For libocpp tests, there is one big executable, which links against the ocpp lib and all other libs.
|
||||
# When it is useful to link only to the tested cpp files, a separate executable can be created for each file.
|
||||
# The source files can be added to this variable, which is a list. For example:
|
||||
# list(APPEND SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/v2/functional_blocks/test_security.cpp)
|
||||
# CMake will then create a new test executable based on the filename and adds 'libocpp_' in front of it. In above
|
||||
# example, a test executable 'libocpp_test_security' will be created. In this example, in the CMakeLists of
|
||||
# `lib/ocpp/v2/functional_blocks`, files to link against can be added to this target / executable.
|
||||
#
|
||||
# For each test in this list, cmake will link agaist some 'default' cpp files (like utils and enums etc), set all
|
||||
# correct flags, add a test, set definitions, etc. See below.
|
||||
set(SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/common/utils_tests.cpp)
|
||||
|
||||
# Add separate tests for V2 only.
|
||||
if(LIBOCPP_ENABLE_V2)
|
||||
# Add all v2 tests you don't want to include in the default test executable here.
|
||||
list(APPEND SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/v2/functional_blocks/test_authorization.cpp)
|
||||
list(APPEND SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/v2/functional_blocks/test_availability.cpp)
|
||||
list(APPEND SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/v2/functional_blocks/test_security.cpp)
|
||||
list(APPEND SEPARATE_UNIT_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/lib/ocpp/v2/functional_blocks/test_tariff_and_cost.cpp)
|
||||
endif()
|
||||
|
||||
|
||||
set(TEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(GCOVR_DEPENDENCIES)
|
||||
|
||||
|
||||
add_libocpp_unittest(NAME libocpp_unit_tests PATH "")
|
||||
|
||||
target_link_libraries(libocpp_unit_tests PRIVATE
|
||||
ocpp
|
||||
${GTEST_LIBRARIES}
|
||||
)
|
||||
|
||||
|
||||
# Add executables, link libraries etc for the unit tests that are separate and do not link against the ocpp lib.
|
||||
# This loops over all tests added to `SEPARATE_UNIT_TESTS` and does the necessary things to make it build.
|
||||
# For now, everything is added that seems to be needed in every test. If later some sources and link libraries should
|
||||
# not be added here, they can always be removed from this loop and added to the test targets that actually need them.
|
||||
foreach(ITEM ${SEPARATE_UNIT_TESTS})
|
||||
set(TEST_ROOT_NAME)
|
||||
cmake_path(GET ITEM STEM TEST_ROOT_NAME)
|
||||
set(TEST_NAME "libocpp_${TEST_ROOT_NAME}")
|
||||
add_libocpp_unittest(NAME ${TEST_NAME} PATH ${ITEM})
|
||||
endforeach(ITEM)
|
||||
|
||||
# Subdirectories should be added only after adding the tests, because they have to exist for the CMakeLists.txt in the
|
||||
# child directories.
|
||||
add_subdirectory(lib/ocpp/common)
|
||||
|
||||
if(LIBOCPP_ENABLE_V16)
|
||||
add_subdirectory(lib/ocpp/v16)
|
||||
endif()
|
||||
|
||||
if(LIBOCPP_ENABLE_V2)
|
||||
add_subdirectory(lib/ocpp/v2)
|
||||
add_subdirectory(lib/ocpp/v21)
|
||||
endif()
|
||||
|
||||
add_custom_command(TARGET libocpp_unit_tests POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CONFIG_FILE_LOCATION_V16} ${CONFIG_FILE_RESOURCES_LOCATION_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${USER_CONFIG_FILE_LOCATION_V16} ${USER_CONFIG_FILE_RESOURCES_LOCATION_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CONFIG_DIR_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${OCPP1_6_CONFIG_DIR} ${CONFIG_DIR_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${MIGRATION_FILES_LOCATION_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${MIGRATION_FILES_SOURCE_DIR_V16} ${MIGRATION_FILES_LOCATION_V16}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${MIGRATION_FILES_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${MIGRATION_FILES_SOURCE_DIR_V2} ${MIGRATION_FILES_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${MIGRATION_FILES_DEVICE_MODEL_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${MIGRATION_FILES_DEVICE_MODEL_SOURCE_DIR_V2} ${MIGRATION_FILES_DEVICE_MODEL_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${DEVICE_MODEL_RESOURCES_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEVICE_MODEL_CURRENT_RESOURCES_DIR} ${DEVICE_MODEL_RESOURCES_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${DEVICE_MODEL_RESOURCES_CHANGED_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEVICE_MODEL_CURRENT_CHANGED_RESOURCES_DIR} ${DEVICE_MODEL_RESOURCES_CHANGED_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${DEVICE_MODEL_RESOURCES_WRONG_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEVICE_MODEL_CURRENT_WRONG_RESOURCES_DIR} ${DEVICE_MODEL_RESOURCES_WRONG_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${DEVICE_MODEL_EXAMPLE_CONFIG_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEVICE_MODEL_CURRENT_EXAMPLE_CONFIG_LOCATION_V2} ${DEVICE_MODEL_EXAMPLE_CONFIG_LOCATION_V2}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${DEVICE_MODEL_TEST_DER_CONFIG_FILE} ${DEVICE_MODEL_EXAMPLE_CONFIG_LOCATION_V2}/custom/DCDERCtrlr_1.json
|
||||
)
|
||||
|
||||
set(GCOVR_ADDITIONAL_ARGS "--gcov-ignore-parse-errors=negative_hits.warn")
|
||||
|
||||
setup_target_for_coverage_gcovr_html(
|
||||
NAME ${PROJECT_NAME}_gcovr_coverage
|
||||
EXECUTABLE ctest
|
||||
DEPENDENCIES libocpp_unit_tests ${GCOVR_DEPENDENCIES}
|
||||
EXCLUDE "src/*" "tests/*"
|
||||
)
|
||||
|
||||
setup_target_for_coverage_gcovr_xml(
|
||||
NAME ${PROJECT_NAME}_gcovr_coverage_xml
|
||||
EXECUTABLE ctest
|
||||
DEPENDENCIES libocpp_unit_tests ${GCOVR_DEPENDENCIES}
|
||||
EXCLUDE "src/*" "tests/*"
|
||||
)
|
||||
Reference in New Issue
Block a user