У меня были некоторые проблемы с настройкой тестового покрытия, но я наконец-то заработал. Хотя я не использую инструменты, которые вы используете.
Я использую clang ++ и инструменты LLVM. И я использую мою собственную базовую платформу модульного тестирования, которая похожа на Catch2 (но не так полно, как Catch2).
Вот команды, которые я запускаю, на случай, если это поможет вам:
clang++ -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-c99-compat -pedantic -fsanitize=undefined,null -std=c++17 -O0 -g -fprofile-instr-generate -fcoverage-mapping Experiment.cpp
./a.out --test-noisy --test-only
llvm-profdata merge -sparse default.profraw -o default.profdata
llvm-cov show -format=html -tab-size=4 ./a.out -instr-profile=default.profdata Experiment.cpp > default.html
echo '<style>pre { font-family: Monaco, Consolas, monospace; }</style>' >> default.html
Я бы хотел ответить в комментарии, но этот ответ слишком длинный, и для удобочитаемости необходимо его форматирование. Если это будет сочтено неуместным (через downvotes), я удалю его.