Outil de couverture de code.
Options à ajouter à la compilation : -O0 -fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation
Options à ajouter au lieur : -fprofile-instr-generate -fcoverage-mapping
Puis exécuter le ou les programmes à tester. Attention, pas d'exécution en parallèle.
shopt -s globstar dotglob llvm-profdata-11 merge -output=code.profdata **/*.profraw mkdir build/coverage llvm-cov-11 show -use-color --format html -instr-profile=code.profdata binary_a -object binary_b -output-dir=build/coverage find build/coverage -name "*.html" -exec tidy -i -m --doctype html5 --drop-empty-elements no {} \; find build/coverage -name "*.html" -exec sed -i -r "s#Created: .*-.*-.* .*:.*h4#</h4#g" {} \;
On commence par fusionner toutes les traces avec llvm-profdata
puis on génère le rapport au format HTML.
En option, on indente et on supprime la date pour qu'un diff simple puisse se faire.