diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 69a4049ed..27fff581e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,6 +46,7 @@ jobs: sudo apt update sudo apt-get install -y autoconf sudo apt-get install -y automake + sudo apt-get install -y lcov sudo apt-get install -y mpich sudo apt-get install -y zlib1g-dev sudo apt-get install -y libsdl2-dev @@ -55,4 +56,14 @@ jobs: run: ci/install_deps.sh - name: Build and Test - run: ci/install_hermes.sh + run: | + ci/install_hermes.sh + mkdir -p "${GITHUB_WORKSPACE}/coverage" + pushd build/src/CMakeFiles/hermes.dir + gcov -r buffer_pool.cc.gcno + lcov -c -d . -o "${GITHUB_WORKSPACE}/coverage/lcov.info" + + - name: Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c2ebccfb..edad041f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -170,7 +170,7 @@ mark_as_advanced(HERMES_DEBUG_HEAP) if (CMAKE_BUILD_TYPE STREQUAL "Debug") if (NOT "${CMAKE_CXX_FLAGS_DEBUG}" MATCHES ".*-g3.*") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3" + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -fprofile-arcs -ftest-coverage " CACHE STRING "" FORCE) endif() diff --git a/README.md b/README.md index 7efc17bf3..2cd902f2e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Hermes is a heterogeneous aware, multi-tiered, dynamic, and distributed I/O buff ![Build](https://github.com/HDFGroup/hermes/workflows/GitHub%20Actions/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/HDFGroup/hermes/badge.svg?branch=master)](https://coveralls.io/github/HDFGroup/hermes?branch=master) + ## Dependencies * A C++ compiler that supports C++ 17. * [Thallium](https://mochi.readthedocs.io/en/latest/installing.html) - RPC library for HPC. Use a version greater than `0.5` for RoCE support.