Try adding test coverage check

This commit is contained in:
mutouyun 2024-06-02 18:11:25 +08:00
parent a401d3f874
commit 12be53d718
2 changed files with 46 additions and 4 deletions

34
.github/workflows/codecov.yml vendored Normal file
View File

@ -0,0 +1,34 @@
name: Upload CodeCov Report
on:
push:
branches: [ refactoring ]
pull_request:
branches: [ refactoring ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Configure
run: cmake -DCMAKE_BUILD_TYPE=Debug -DLIBIPC_BUILD_TESTS=ON -DLIBIPC_CODECOV=ON .
- name: Build
run: make -j
- name: Test
env:
LD_LIBRARY_PATH: ./lib
run: ./bin/test-ipc
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4.0.1
with:
verbose: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.11)
cmake_minimum_required(VERSION 3.13)
project(cpp-ipc)
option(LIBIPC_BUILD_TESTS "Build all of libipc's own tests." OFF)
@ -6,6 +6,7 @@ option(LIBIPC_BUILD_DEMOS "Build all of libipc's own demos."
option(LIBIPC_BUILD_BENCHMARK "Build all of libipc's own benchmark tests." OFF)
option(LIBIPC_BUILD_SHARED_LIBS "Build shared libraries (DLLs)." OFF)
option(LIBIPC_USE_STATIC_CRT "Set to ON to build with static CRT on Windows (/MT)." OFF)
option(LIBIPC_CODECOV "Build with unit test coverage." OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_CXX_STANDARD 17)
@ -31,8 +32,15 @@ if (MSVC)
endforeach()
endif()
else()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG -O2")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -rdynamic -fsanitize=address")
add_compile_options(
"$<$<BOOL:${LIBIPC_CODECOV}>:SHELL:--coverage>"
"$<$<CONFIG:Release>:SHELL:-DNDEBUG -O2>"
"$<$<CONFIG:Debug>:SHELL:-g -rdynamic -fsanitize=address>"
)
add_link_options(
"$<$<BOOL:${LIBIPC_CODECOV}>:SHELL:-lgcov --coverage>"
"$<$<CONFIG:Debug>:SHELL:-fsanitize=address>"
)
endif()
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
@ -73,4 +81,4 @@ endif()
install(
DIRECTORY "include/"
DESTINATION "include"
)
)