-
Notifications
You must be signed in to change notification settings - Fork 63
Generating a code coverage report
Currently, a code coverage report is generated only for the main branch during the nightly CI-run and deployed to Codecov. The current report can be found here. Additionally, a PR is removed from the merge queue if the code coverage would decrease due to the PR.
One can generate a code coverage report locally to determine if the current changes reduce the code coverage. You can follow these steps:
- Configure in Debug mode and with the test coverage option enabled. If you want to compare the result to the coverage report on github, you should set the test level to 1. You can execute the following command in the build folder:
cmake -DCMAKE_BUILD_TYPE=Debug -DT8CODE_CODE_COVERAGE=ON -DT8CODE_TEST_LEVEL=1 ..
- Perform the build step as usual, e.g., with
cmake -- build .
- You have to have lcov installed for this step. (On the Teamserver you may load the module lcov/lcov-1.15/lcov-1.15-gcc-9.4.0-eeschdm).
To generate the coverage report, use
cmake --build . --target coverage
This step can take a few minutes, depending on the test level.
- Find the html coverage report
index.htmlin the foldercoveragein thebuilddirectory.
General
Step 0 Hello World
Step 1 Creating a coarse mesh
Step 2 Creating a uniform forest
Step 3 Adapting a forest
Step 4 Partition,-Balance,-Ghost
Step 5 Store element data
Step 6 Computing stencils
Step 7 Interpolation
Features
Prerequisites & Compilation
t8_time_forest_partition
t8_time_fractal
t8_time_new_refine
t8_time_partition
t8_time_prism
t8_time_set_join_by_vertices
Documentation
Tree Indexing
Element Indexing
Running on JUWELS using Slurm
Overview of the most used API functions
Known issues
Workflow - FreeCAD to t8code
Reproducing Scaling Results
Coding Guidelines
Contribution Workflow
Tips
Debugging with gdb
Debugging with valgrind
Development modules
Generating a code coverage report
Test driven development
Testing with GoogleTest
Writing C interface code