générer des rapports de couverture de code GCC
site Web et documentation • bugtracker • GitHub
Gcovr fournit un utilitaire permettant de gérer l'utilisation de l'utilitaire GNU gcov et de générer des résultats résumés de couverture de code. Cette commande est inspirée du package Python cover.py, qui fournit un utilitaire similaire pour Python.
La commande gcovr
peut produire différents types de rapports de couverture :
Option CLI | Guide de l'utilisateur | Description |
---|---|---|
par défaut, --txt | Sortie de texte | résumés compacts et lisibles par l'homme |
--html | Sortie HTML | aperçu de tous les fichiers |
--html-details | Sortie HTML | fichiers sources annotés |
--html-template-dir | Sortie HTML | utiliser un ensemble personnalisé de modèles Jinja2 |
--csv | Sortie CSV | Rapport CSV résumant la couverture de chaque fichier |
--json | Sortie JSON | Rapport JSON avec structure et couverture du fichier source |
--json-summary | Sortie JSON | Rapport récapitulatif de couverture JSON |
--clover | Sortie XML Clover | rapports XML lisibles par machine au format Clover |
--cobertura | Sortie XML Cobertura | Rapports XML lisibles par machine au format Cobertura |
--coveralls | Sortie JSON des combinaisons | Rapport JSON lisible par machine au format Combinaison |
--jacoco | Sortie XML JaCoCo | rapports XML lisibles par machine au format JaCoCo |
--lcov | Informations LCOV Sortie | rapport lisible par machine au format d'information LCOV |
--sonarqube | Sortie XML SonarQube | rapports XML lisibles par machine au format SonarQube |
Ainsi, gcovr peut être considéré comme une alternative en ligne de commande à l'utilitaire lcov, qui exécute gcov et génère un rapport au format HTML. Le développement de gcovr a été motivé par le besoin de résumés textuels et de rapports XML.
Exemple de résumé HTML :
Exemple de détails HTML :
Gcovr est disponible sous forme de package Python qui peut être installé via pip.
Installez la dernière version stable gcovr
à partir de PyPI :
pip install gcovr
Installez la version de développement depuis GitHub (nécessite au moins la version 21.3 de pip) :
pip install git+https://github.com/gcovr/gcovr.git
GCC peut instrumenter les exécutables pour émettre des données de couverture. Vous devez recompiler votre code avec les indicateurs suivants :
--couverture -g -O0
Ensuite, exécutez votre suite de tests. Cela générera des fichiers de couverture brute.
Enfin, invoquez gcovr. Cela imprimera un rapport tabulaire sur la console.
gcovr
Vous pouvez également générer des rapports HTML détaillés ou imbriqués :
gcovr --html-couverture détaillée.html gcovr --html-couverture imbriquée.html
Gcovr créera un rapport HTML par fichier source et pour --html-nested
également par répertoire à côté du résumé cover.html.
Vous devez exécuter gcovr à partir du répertoire de construction. L'option -r
doit pointer vers la racine de votre projet. Cela n'a d'importance que si vous disposez d'un répertoire de construction distinct. Par exemple:
construction de CD ; gcovr -r ..
Pour une documentation complète, lisez le manuel.
Si vous souhaitez signaler un bug ou contribuer au développement de gcovr, veuillez d'abord lire nos directives de contribution : https://gcovr.com/en/latest/contributing.html
Ce logiciel est distribué sous licence BSD à 3 clauses. Voir https://gcovr.com/en/latest/license.html#license-terms pour plus de détails. Voir https://gcovr.com/en/latest/license.html#acknowledgements pour la liste complète des contributeurs.