This MR enables code coverage metric capturing, at least for C++ code, within Nektar++. It gives:
To enable code coverage, as well as code coverage reports, we use:
fastcov
to much more quickly generate coverage statistics than vanilla lcov
(which can take 20-30 minutes to run otherwise)lcov
to print out general statistics (line coverage %) that are captured by gitlablcov_cobertura.py
converts the .info
file produced by fastcov
into a Cobertura XML, the format used by Gitlab for code coverage reports;split_cobertura.py
splits this into multiple XML files in order to overcome processing limitations of gitlab on XML output larger than 10MB;Please add any other information that could be useful for reviewers.