update again

This commit is contained in:
einhorn_b 2021-05-27 10:47:09 +02:00
parent 472a6f3ac2
commit 1d2cf0f90f
6 changed files with 86 additions and 38 deletions

View File

@ -38,7 +38,8 @@ jobs:
##########################################################################
- name: Login-Server | Unit tests
run: |
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/code/build_cov/coverage_html -v $(pwd)/configs/login_server:/etc/grd_login gradido/login_server:test
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/code/build_cov/coverage -v $(pwd)/configs/login_server:/etc/grd_login gradido/login_server:test
mkdir ~/coverage
cp -r ~/coverage ./coverage
##########################################################################
# COVERAGE CHECK BACKEND LOGIN-SERVER ####################################
@ -48,7 +49,7 @@ jobs:
with:
report_name: Coverage Backend
type: lcov
result_path: ./coverage/lcov.info
result_path: ./coverage/coverage.info
min_coverage: 8
token: ${{ github.token }}

View File

@ -230,8 +230,10 @@ jobs:
MARIADB_USER: root
ports:
- 3306:3306
volumes:
- db_vol:/var/lib/mysql
options: --health-cmd="mysqladmin ping"
--health-interval=5s
--health-timeout=2s
--health-retries=3
steps:
##########################################################################
# CHECKOUT CODE ##########################################################
@ -253,7 +255,7 @@ jobs:
##########################################################################
- name: Login-Server | Unit tests
run: |
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/code/build/coverage_html -v $(pwd)/configs/login_server:/etc/grd_login gradido/login_server:test
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/code/build_cov/coverage -v $(pwd)/configs/login_server:/etc/grd_login gradido/login_server:test
cp -r ~/coverage ./coverage
##########################################################################
# COVERAGE CHECK BACKEND LOGIN-SERVER ####################################
@ -263,7 +265,7 @@ jobs:
with:
report_name: Coverage Backend
type: lcov
result_path: ./coverage/lcov.info
result_path: ./coverage/coverage.info
min_coverage: 8
token: ${{ github.token }}
@ -310,7 +312,7 @@ jobs:
##########################################################################
- name: community server | Unit tests
run: |
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/var/www/cakephp/webroot/coverage gradido/community_server:test ./vendor/bin/phpunit --coverage-html ./webroot/coverage
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/var/www/cakephp/webroot/coverage gradido/community_server:test
cp -r ~/coverage ./coverage
##########################################################################
# COVERAGE CHECK BACKEND COMMUNITY-SERVER ####################################
@ -320,7 +322,7 @@ jobs:
with:
report_name: Coverage Backend
type: lcov
result_path: ./coverage/lcov.info
result_path: ./coverage/coverage.info
min_coverage: 8
token: ${{ github.token }}

View File

@ -24,4 +24,6 @@ RUN apt-get update \
WORKDIR /var/www/cakephp
ENV XDEBUG_MODE=coverage
CMD ./vendor/bin/phpunit && lcov --no-external --capture --quiet --output-file ./webroot/coverage/coverage.info

View File

@ -320,30 +320,56 @@ endif(UNIX)
enable_testing()
if(UNIX)
include(cmake/CodeCoverage.cmake)
append_coverage_compiler_flags()
set(EXCLUDE_FOR_HTML_COV
"${CMAKE_CURRENT_SOURCE_DIR}/build/proto/*"
"${CMAKE_CURRENT_SOURCE_DIR}/dependencies/*"
"${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/test/*"
)
setup_target_for_coverage_gcovr_html(
NAME coverage_html
EXECUTABLE Gradido_LoginServer_Test
EXCLUDE ${EXCLUDE_FOR_HTML_COV}
#DEPENDENCIES lib/libmariadb.so.3
)
set(EXCLUDE_FOR_COV
${EXCLUDE_FOR_HTML_COV}
"/usr/include/*"
)
setup_target_for_coverage_lcov(
NAME coverage
EXECUTABLE Gradido_LoginServer_Test
EXCLUDE "${EXCLUDE_FOR_COV}"
#DEPENDENCIES lib/libmariadb.so.3
)
option(COLLECT_COVERAGE_DATA "Use cov to collect coverage informations" OFF)
set(COVERAGE_TOOL "Coverage Tool (gcovr|lcov|fastcov)" CACHE STRING "gcovr")
if(COLLECT_COVERAGE_DATA)
include(cmake/CodeCoverage.cmake)
append_coverage_compiler_flags()
set(EXCLUDE_FOR_HTML_COV
"${CMAKE_CURRENT_SOURCE_DIR}/build/proto/*"
"${CMAKE_CURRENT_SOURCE_DIR}/dependencies/*"
"${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/test/*"
"${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/include/gtest/internal/*"
"${CMAKE_CURRENT_SOURCE_DIR}/googletest/googletest/src/"
)
if("${COVERAGE_TOOL}" STREQUAL "gcovr")
setup_target_for_coverage_gcovr_html(
NAME coverage
EXECUTABLE Gradido_LoginServer_Test
EXCLUDE ${EXCLUDE_FOR_HTML_COV}
GCOVR_ADDITIONAL_ARGS "--txt "
#DEPENDENCIES lib/libmariadb.so.3
)
endif()
set(EXCLUDE_FOR_COV
${EXCLUDE_FOR_HTML_COV}
"/usr/include/*"
)
if("${COVERAGE_TOOL}" STREQUAL "lcov")
setup_target_for_coverage_lcov(
NAME coverage
EXECUTABLE Gradido_LoginServer_Test
EXCLUDE "${EXCLUDE_FOR_COV}"
#DEPENDENCIES lib/libmariadb.so.3
)
endif()
if("${COVERAGE_TOOL}" STREQUAL "fastcov")
setup_target_for_coverage_fastcov(
NAME coverage # New target name
EXECUTABLE Gradido_LoginServer_Test -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
#BASE_DIRECTORY "../" # Base directory for report
# (defaults to PROJECT_SOURCE_DIR)
EXCLUDE "${EXCLUDE_FOR_COV}" # Patterns to exclude.
NO_DEMANGLE # Don't demangle C++ symbols
# even if c++filt is found
SKIP_HTML # Don't create html report
)
endif()
endif()
project(Gradido_LoginServer_Test C CXX)

View File

@ -212,7 +212,7 @@ project(Gradido_LoginServer_Test C CXX)
enable_testing()
option(COLLECT_COVERAGE_DATA "Use cov to collect coverage informations" OFF)
set(COVERAGE_TOOL "Coverage Tool (gcovr|lcov)" CACHE STRING "gcovr")
set(COVERAGE_TOOL "Coverage Tool (gcovr|lcov|fastcov)" CACHE STRING "gcovr")
if(COLLECT_COVERAGE_DATA)
@ -228,9 +228,10 @@ if(COLLECT_COVERAGE_DATA)
)
if("${COVERAGE_TOOL}" STREQUAL "gcovr")
setup_target_for_coverage_gcovr_html(
NAME coverage_html
NAME coverage
EXECUTABLE Gradido_LoginServer_Test
EXCLUDE ${EXCLUDE_FOR_HTML_COV}
GCOVR_ADDITIONAL_ARGS "--txt "
#DEPENDENCIES lib/libmariadb.so.3
)
endif()
@ -247,6 +248,19 @@ if(COLLECT_COVERAGE_DATA)
#DEPENDENCIES lib/libmariadb.so.3
)
endif()
if("${COVERAGE_TOOL}" STREQUAL "fastcov")
setup_target_for_coverage_fastcov(
NAME coverage # New target name
EXECUTABLE Gradido_LoginServer_Test -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
#BASE_DIRECTORY "coverage" # Base directory for report
# (defaults to PROJECT_SOURCE_DIR)
EXCLUDE "${EXCLUDE_FOR_COV}" # Patterns to exclude.
NO_DEMANGLE # Don't demangle C++ symbols
# even if c++filt is found
SKIP_HTML # Don't create html report
)
endif()
endif()
#_TEST_BUILD

View File

@ -32,7 +32,8 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip3 install gcovr
RUN pip3 install gcovr setuptools wheel && \
pip3 install fastcov
#########################################################################################################
@ -47,7 +48,7 @@ WORKDIR ${DOCKER_WORKDIR}
RUN if [ ! -d "./build_cov" ] ; then mkdir build_cov; fi
RUN cd build_cov && \
cmake -DCMAKE_BUILD_TYPE=Debug -DCOLLECT_COVERAGE_DATA=ON -DCOVERAGE_TOOL=gcovr ..
cmake -DCMAKE_BUILD_TYPE=Debug -DCOLLECT_COVERAGE_DATA=ON -DCOVERAGE_TOOL=fastcov ..
#make -j$(nproc) Gradido_LoginServer_Test
#RUN chmod +x build_cov/bin/Gradido_LoginServer_Test
@ -55,8 +56,10 @@ RUN cd build_cov && \
#CMD ./build_cov/bin/Gradido_LoginServer_Test
#ENTRYPOINT make -C build_cov coverage
CMD cd build_cov && make -j$(nproc) Gradido_LoginServer_Test && make coverage_html
CMD cd build_cov && make -j$(nproc) Gradido_LoginServer_Test && make coverage && \
if [ ! -d "./coverage" ] ; then mkdir coverage; fi && \
cp coverage.info ./coverage/
#########################################################################################################
# Build debug
#########################################################################################################