From 0d909198c22c3455e7829577ce631043341a6117 Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Thu, 20 May 2021 17:51:50 +0200 Subject: [PATCH] bring test back to working --- .github/workflows/test.yml | 2 +- login_server/CMakeLists.txt | 13 ++++++++----- login_server/CMakeLists.txt.lib | 34 +++++++++++++++++++++++++++++++++ login_server/Dockerfile | 28 +++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 23bd9f7b1..5310885ae 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: ########################################################################## - name: login server | Build `test` image run: | - docker build --target login_server -t "gradido/login_server:test" -f ./login_server/Dockerfile login_server/ + docker build --target debug -t "gradido/login_server:test" -f ./login_server/Dockerfile login_server/ docker save "gradido/login_server:test" > /tmp/login_server.tar - name: Upload Artifact uses: actions/upload-artifact@v2 diff --git a/login_server/CMakeLists.txt b/login_server/CMakeLists.txt index f8cff069a..77f16759e 100644 --- a/login_server/CMakeLists.txt +++ b/login_server/CMakeLists.txt @@ -316,6 +316,8 @@ install(DIRECTORY src/LOCALE DESTINATION /etc/grd_login/ endif(UNIX) +# ---------------------- Test ----------------------------------------- + enable_testing() if(UNIX) @@ -324,13 +326,14 @@ append_coverage_compiler_flags() setup_target_for_coverage_gcovr_html( NAME coverage EXECUTABLE Gradido_LoginServer_Test - DEPENDENCIES lib/libmariadb.so.3 + #DEPENDENCIES lib/libmariadb.so.3 ) endif() -# ---------------------- Test ----------------------------------------- -#project(Gradido_LoginServer_Test C CXX) + +project(Gradido_LoginServer_Test C CXX) #_TEST_BUILD -#find_package(gtest) +#find_package(GTest CONFIG REQUIRED) +add_subdirectory("dependencies/grpc/third_party/googletest") add_executable(Gradido_LoginServer_Test ${LOCAL_SRCS} ${LOCAL_TEST_SRC}) target_compile_definitions(Gradido_LoginServer_Test PUBLIC "_TEST_BUILD") @@ -343,7 +346,7 @@ if(WIN32) #TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${COMPILED_MARIADB_CLIENT_DEBUG} Shlwapi) #TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${GRPC_LIBS} ${PROTOBUF_DEBUG_LIBS}) else() - target_link_libraries(Gradido_LoginServer_Test ${POCO_LIBS} libmariadb sodium) + target_link_libraries(Gradido_LoginServer_Test ${POCO_LIBS} libmariadb sodium gtest) endif() add_test(NAME main COMMAND Gradido_LoginServer_Test) diff --git a/login_server/CMakeLists.txt.lib b/login_server/CMakeLists.txt.lib index bf62814c4..b376dc775 100644 --- a/login_server/CMakeLists.txt.lib +++ b/login_server/CMakeLists.txt.lib @@ -206,3 +206,37 @@ set(POCO_LIBS ${POCO_FOUNDATION_LIB} ${POCO_UTIL_LIB} ${POCO_NET_SSL_LIB} ${POCO target_link_libraries(Gradido_LoginServer gRPC::grpc++ ${PROTOBUF_LIBS} ${MYSQL_LIBRARIES} ${POCO_LIBS} sodium pthread) +############################## build login server test ################################### +project(Gradido_LoginServer_Test C CXX) + +enable_testing() + +if(UNIX) +include(cmake/CodeCoverage.cmake) +append_coverage_compiler_flags() +setup_target_for_coverage_gcovr_html( + NAME coverage + EXECUTABLE Gradido_LoginServer_Test + DEPENDENCIES lib/libmariadb.so.3 +) +endif() + +#_TEST_BUILD +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(Gradido_LoginServer_Test ${LOCAL_SRCS} ${LOCAL_TEST_SRC}) +target_compile_definitions(Gradido_LoginServer_Test PUBLIC "_TEST_BUILD") + +target_link_libraries(Gradido_LoginServer_Test ${GRPC_LIBS} ) + +if(WIN32) + target_link_libraries(Gradido_LoginServer_Test ${CONAN_LIBS} ) + #TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test optimized ${MYSQL_LIBRARIES} Shlwapi) + #TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${COMPILED_MARIADB_CLIENT_DEBUG} Shlwapi) + #TARGET_LINK_LIBRARIES(Gradido_LoginServer_Test debug ${GRPC_LIBS} ${PROTOBUF_DEBUG_LIBS}) +else() + target_link_libraries(Gradido_LoginServer_Test ${POCO_LIBS} libmariadb sodium GTest::gtest) +endif() + +add_test(NAME main COMMAND Gradido_LoginServer_Test) \ No newline at end of file diff --git a/login_server/Dockerfile b/login_server/Dockerfile index 83adec256..06efe6bf5 100644 --- a/login_server/Dockerfile +++ b/login_server/Dockerfile @@ -1,3 +1,31 @@ +######################################################################################################### +# Build debug +######################################################################################################### +FROM gradido/login_dependencies:alpine-debug-1 as debug + +ENV DOCKER_WORKDIR="/code" +WORKDIR ${DOCKER_WORKDIR} + +COPY ./CMakeLists.txt.lib ./CMakeLists.txt +COPY ./src ./src +COPY ./dependencies/cmake-modules ./dependencies/cmake-modules +COPY ./dependencies/spirit-po ./dependencies/spirit-po +COPY ./dependencies/tinf ./dependencies/tinf +COPY ./scripts ./scripts + +RUN mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Debug .. && \ + make -j$(nproc) Gradido_LoginServer Gradido_LoginServer_Test + +RUN cd scripts && \ + chmod +x compile_pot.sh && \ + ./compile_pot.sh + +RUN chmod +x build/bin/Gradido_LoginServer +ENTRYPOINT ["build/bin/Gradido_LoginServer"] + + ######################################################################################################### # Build release #########################################################################################################