- 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
213 lines
4.9 KiB
CMake
213 lines
4.9 KiB
CMake
get_target_property(GENERATED_INCLUDE_DIR generate_cpp_files EVEREST_GENERATED_INCLUDE_DIR)
|
|
find_package(libevent)
|
|
find_package(OpenSSL 3)
|
|
|
|
set(LIB_EVEREST_TLS_TESTS_DIR "${PROJECT_SOURCE_DIR}/lib/everest/tls/tests")
|
|
set(TESTS_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/tests/include")
|
|
|
|
set(TLS_TEST_FILES
|
|
alt_openssl-pki.conf
|
|
iso_pkey.asn1
|
|
openssl-pki.conf
|
|
ocsp_response.der
|
|
pki.sh
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${TLS_TEST_FILES}
|
|
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/pki
|
|
COMMAND cd pki && cp ${TLS_TEST_FILES} ${CMAKE_CURRENT_BINARY_DIR}/
|
|
WORKING_DIRECTORY ${LIB_EVEREST_TLS_TESTS_DIR}
|
|
)
|
|
|
|
add_custom_target(v2g_test_files_target
|
|
DEPENDS ${TLS_TEST_FILES}
|
|
)
|
|
|
|
set(TLS_GTEST_NAME v2g_openssl_test)
|
|
add_executable(${TLS_GTEST_NAME})
|
|
add_dependencies(${TLS_GTEST_NAME} v2g_test_files_target)
|
|
|
|
add_dependencies(${TLS_GTEST_NAME} generate_cpp_files)
|
|
|
|
target_include_directories(${TLS_GTEST_NAME} PRIVATE
|
|
.. ../crypto
|
|
${GENERATED_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}/generated/modules/${MODULE_NAME}
|
|
)
|
|
|
|
target_compile_definitions(${TLS_GTEST_NAME} PRIVATE
|
|
-DUNIT_TEST
|
|
)
|
|
|
|
target_sources(${TLS_GTEST_NAME} PRIVATE
|
|
${LIB_EVEREST_TLS_TESTS_DIR}/gtest_main.cpp
|
|
log.cpp
|
|
openssl_test.cpp
|
|
../crypto/crypto_openssl.cpp
|
|
)
|
|
|
|
target_link_libraries(${TLS_GTEST_NAME} PRIVATE
|
|
GTest::gtest
|
|
cbv2g::din
|
|
cbv2g::iso2
|
|
cbv2g::tp
|
|
everest::framework
|
|
everest::evse_security
|
|
everest::tls
|
|
)
|
|
|
|
set(V2G_MAIN_NAME v2g_server)
|
|
add_executable(${V2G_MAIN_NAME})
|
|
|
|
add_dependencies(${V2G_MAIN_NAME} generate_cpp_files)
|
|
|
|
target_include_directories(${V2G_MAIN_NAME} PRIVATE
|
|
.. ../connection ${TESTS_INCLUDE_DIR}
|
|
${GENERATED_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}/generated/modules/${MODULE_NAME}
|
|
${CMAKE_BINARY_DIR}/generated/include
|
|
)
|
|
|
|
target_compile_definitions(${V2G_MAIN_NAME} PRIVATE
|
|
-DUNIT_TEST
|
|
)
|
|
|
|
target_sources(${V2G_MAIN_NAME} PRIVATE
|
|
../connection/connection.cpp
|
|
../connection/tls_connection.cpp
|
|
../tools.cpp
|
|
../v2g_ctx.cpp
|
|
log.cpp
|
|
requirement.cpp
|
|
v2g_main.cpp
|
|
)
|
|
|
|
target_link_libraries(${V2G_MAIN_NAME} PRIVATE
|
|
cbv2g::din
|
|
cbv2g::iso2
|
|
cbv2g::tp
|
|
everest::log
|
|
everest::framework
|
|
everest::evse_security
|
|
everest::tls
|
|
-levent -lpthread -levent_pthreads
|
|
)
|
|
|
|
# runs fine locally, fails in CI
|
|
add_test(${TLS_GTEST_NAME} ${TLS_GTEST_NAME})
|
|
ev_register_test_target(${TLS_GTEST_NAME})
|
|
|
|
|
|
set(DIN_SERVER_NAME din_server_test)
|
|
add_executable(${DIN_SERVER_NAME})
|
|
|
|
target_include_directories(${DIN_SERVER_NAME} PRIVATE
|
|
.. ../connection ${TESTS_INCLUDE_DIR}
|
|
${GENERATED_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}/generated/modules/${MODULE_NAME}
|
|
${CMAKE_BINARY_DIR}/generated/include
|
|
)
|
|
add_dependencies(${DIN_SERVER_NAME} generate_cpp_files)
|
|
|
|
target_compile_definitions(${DIN_SERVER_NAME} PRIVATE
|
|
-DUNIT_TEST
|
|
-DLIBEVSE_CRYPTO_SUPPLIER_OPENSSL
|
|
)
|
|
|
|
target_sources(${DIN_SERVER_NAME} PRIVATE
|
|
din_server_test.cpp
|
|
log.cpp
|
|
../din_server.cpp
|
|
../tools.cpp # TODO: Maybe mock this one
|
|
)
|
|
|
|
target_link_libraries(${DIN_SERVER_NAME}
|
|
PRIVATE
|
|
GTest::gtest_main
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
cbv2g::din
|
|
cbv2g::iso2
|
|
cbv2g::tp
|
|
everest::framework
|
|
everest::evse_security
|
|
everest::tls
|
|
)
|
|
|
|
add_test(${DIN_SERVER_NAME} ${DIN_SERVER_NAME})
|
|
ev_register_test_target(${DIN_SERVER_NAME})
|
|
|
|
set(SDP_NAME sdp_test)
|
|
add_executable(${SDP_NAME})
|
|
target_include_directories(${SDP_NAME} PRIVATE
|
|
.. ../connection ${TESTS_INCLUDE_DIR}
|
|
${GENERATED_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}/generated/modules/${MODULE_NAME}
|
|
${CMAKE_BINARY_DIR}/generated/include
|
|
)
|
|
add_dependencies(${SDP_NAME} generate_cpp_files)
|
|
|
|
target_compile_definitions(${SDP_NAME} PRIVATE
|
|
-DUNIT_TEST
|
|
)
|
|
|
|
target_sources(${SDP_NAME} PRIVATE
|
|
sdp_test.cpp
|
|
log.cpp
|
|
../sdp.cpp
|
|
../tools.cpp
|
|
)
|
|
|
|
target_link_libraries(${SDP_NAME}
|
|
PRIVATE
|
|
GTest::gtest_main
|
|
cbv2g::tp
|
|
everest::framework
|
|
everest::tls
|
|
)
|
|
|
|
add_test(${SDP_NAME} ${SDP_NAME})
|
|
ev_register_test_target(${SDP_NAME})
|
|
|
|
set(V2GCTX_NAME v2g_ctx_test)
|
|
add_executable(${V2GCTX_NAME})
|
|
|
|
target_include_directories(${V2GCTX_NAME} PRIVATE
|
|
.. ../connection ${TESTS_INCLUDE_DIR}
|
|
${GENERATED_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}/generated/modules/${MODULE_NAME}
|
|
${CMAKE_BINARY_DIR}/generated/include
|
|
)
|
|
add_dependencies(${V2GCTX_NAME} generate_cpp_files)
|
|
|
|
target_compile_definitions(${V2GCTX_NAME} PRIVATE
|
|
-DUNIT_TEST
|
|
-DLIBEVSE_CRYPTO_SUPPLIER_OPENSSL
|
|
)
|
|
|
|
target_sources(${V2GCTX_NAME} PRIVATE
|
|
v2g_ctx_test.cpp
|
|
log.cpp
|
|
tools_test.cpp
|
|
../v2g_ctx.cpp
|
|
../tools.cpp
|
|
)
|
|
|
|
target_link_libraries(${V2GCTX_NAME}
|
|
PRIVATE
|
|
GTest::gtest_main
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
cbv2g::din
|
|
cbv2g::iso2
|
|
cbv2g::tp
|
|
everest::framework
|
|
everest::evse_security
|
|
everest::tls
|
|
-levent -lpthread -levent_pthreads
|
|
)
|
|
|
|
add_test(${V2GCTX_NAME} ${V2GCTX_NAME})
|
|
ev_register_test_target(${V2GCTX_NAME})
|