Il s'agit de la commande lcov qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
lcov - une interface graphique GCOV
SYNOPSIS
lcov -c|--Capturer
[-d|--annuaire annuaire] [-k|--répertoire-kernel annuaire]
[-o|--fichier de sortie fichier de trace] [-t|--nom du test nom du test]
[-b|--base-répertoire annuaire] [-i|--initiale] [--gcov-outil outil]
[--somme de contrôle] [--no-somme de contrôle] [--pas de récursion] [-f|--poursuivre]
[--compat-libtool] [--no-compat-libtool] [--ignore-erreurs erreurs]
[--au-package paquet] [--Depuis le paquet paquet] [-q|--silencieux]
[--no-marqueurs] [--externe] [--no-externe]
[--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
[--compat mode= activé | désactivé | automatique]
lcov -z|--compteurs zéro
[-d|--annuaire annuaire] [--pas de récursion] [-f|--poursuivre]
[-q|--silencieux]
lcov -l|--liste fichier de trace
[-q|--silencieux] [--list-chemin-complet] [--no-list-full-path]
[--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
lcov -a|--add-fichier de trace fichier de trace
[-o|--fichier de sortie fichier de trace] [--somme de contrôle] [--no-somme de contrôle]
[-q|--silencieux] [--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
lcov -e|--extrait fichier de trace modèle
[-o|--fichier de sortie fichier de trace] [--somme de contrôle] [--no-somme de contrôle]
[-q|--silencieux] [--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
lcov -r|--supprimer fichier de trace modèle
[-o|--fichier de sortie fichier de trace] [--somme de contrôle] [--no-somme de contrôle]
[-q|--silencieux] [--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
lcov --diff fichier de trace diff
[-o|--fichier de sortie fichier de trace] [--somme de contrôle] [--no-somme de contrôle]
[--convertir les noms de fichiers] [--déshabiller profondeur] [--chemin chemin] [-q|--silencieux]
[--config-fichier fichier de configuration] [--rc mot-clé=Plus-value]
lcov --sommaire fichier de trace
[-q|--silencieux]
lcov [-h|--Aidez-moi] [-v|--version]
DESCRIPTION
lcov est une interface graphique pour l'outil de test de couverture de GCC gcov. Il recueille la ligne,
données de couverture de fonction et de branche pour plusieurs fichiers source et crée des pages HTML
contenant le code source annoté avec des informations de couverture. Il ajoute également un aperçu
pages pour une navigation facile dans la structure du fichier.
Utilisez lcov collecter des données de couverture et genhtml pour créer des pages HTML. Les données de couverture peuvent
soit être collecté à partir du noyau Linux en cours d'exécution ou à partir d'un espace utilisateur
application. Pour ce faire, vous devez effectuer les étapes de préparation suivantes :
Pour la couverture du noyau Linux :
Suivez les instructions de configuration de l'infrastructure gcov-kernel :
http://ltp.sourceforge.net/coverage/gcov.php
Pour la couverture des applications de l'espace utilisateur :
Compilez l'application avec GCC en utilisant les options "-fprofile-arcs" et
"-ftest-couverture".
Veuillez noter que cette page de manuel fait référence au format de sortie de lcov comme "fichier .info" ou
"tracefile" et que la sortie de GCOV est appelée "fichier .da".
Notez également que lors de l'impression des pourcentages, 0% et 100% ne sont imprimés que lorsque les valeurs sont
exactement 0% et 100% respectivement. Autres valeurs qui seraient conventionnellement arrondies à 0%
ou 100 % sont à la place imprimés en tant que valeur non-limite la plus proche. Ce comportement est conforme
avec celui du gcov(1) outil.
OPTIONS
-a fichier de trace
--add-fichier de trace fichier de trace
Ajouter le contenu de fichier de trace.
Spécifiez plusieurs fichiers de trace à l'aide du commutateur -a pour combiner les données de couverture
contenus dans ces fichiers en additionnant les nombres d'exécutions pour le test de correspondance et
combinaisons de noms de fichiers.
Le résultat de l'opération d'ajout sera écrit dans stdout ou dans le fichier trace
spécifié avec -o.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
-b annuaire
--base-répertoire annuaire
Utilisez annuaire comme répertoire de base pour les chemins relatifs.
Utilisez cette option pour spécifier le répertoire de base d'un environnement de construction lorsque lcov
produit des messages d'erreur comme :
ERREUR : impossible de lire le fichier source
/home/utilisateur/projet/sous-répertoire1/sous-répertoire2/sous-répertoire1/sous-répertoire2/fichier.c
Dans cet exemple, utilisez /home/user/project comme répertoire de base.
Cette option est requise lors de l'utilisation de lcov sur des projets construits avec libtool ou similaire
construire des environnements qui fonctionnent avec un répertoire de base, c'est-à-dire des environnements, où le
le répertoire de travail actuel lors de l'appel du compilateur n'est pas le même répertoire dans
lequel se trouve le fichier de code source.
Notez que cette option ne fonctionnera pas dans les environnements où plusieurs répertoires de base
sont utilisés. Dans ce cas, utilisez les paramètres du fichier de configuration geninfo_auto_base=1 (voir
lcovrc(5)).
-c
--Capturer
Capturez les données de couverture.
Par défaut, capture le nombre d'exécutions du noyau actuel et écrit le résultat
données de couverture à la sortie standard. Utilisez l'option --directory pour capturer les décomptes
pour un programme d'espace utilisateur.
Le résultat de l'opération de capture sera écrit dans stdout ou dans le fichier trace
spécifié avec -o.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
--somme de contrôle
--no-somme de contrôle
Spécifiez s'il faut générer des données de somme de contrôle lors de l'écriture des fichiers de trace.
Utilisez --checksum pour activer la génération de la somme de contrôle ou --no-checksum pour la désactiver.
La génération de la somme de contrôle est handicapé par défaut.
Lorsque la génération de somme de contrôle est activée, une somme de contrôle sera générée pour chaque source
ligne de code et stocké avec les données de couverture. Cette somme de contrôle sera utilisée pour
empêcher les tentatives de combiner les données de couverture de différentes versions de code source.
Si vous ne travaillez pas avec différentes versions de code source, désactivez cette option pour accélérer
d'augmenter le traitement des données de couverture et de réduire la taille des fichiers de trace.
--compat mode=Plus-value[,mode=Plus-value,...]
Définir le mode de compatibilité.
Utilisez --compat pour spécifier que lcov doit activer un ou plusieurs modes de compatibilité
lors de la capture des données de couverture. Vous pouvez fournir une liste séparée par des virgules de mode=valeur
paires pour spécifier les valeurs pour plusieurs modes.
Valide valeurs sont:
on
Activer le mode de compatibilité.
de rabais
Désactivez le mode de compatibilité.
auto
Appliquez la détection automatique pour déterminer si le mode de compatibilité est requis. Noter
cette détection automatique n'est pas disponible pour tous les modes de compatibilité.
Si aucune valeur n'est spécifiée, « on » est considéré comme la valeur par défaut.
Valide modes sont:
libtool
Activez ce mode si vous capturez des données de couverture pour un projet qui a été
construit en utilisant le mécanisme libtool. Voir aussi --compat-libtool.
La valeur par défaut de ce paramètre est « on ».
marteau
Activez ce mode si vous capturez des données de couverture pour un projet qui a été
construit en utilisant une version de GCC 3.3 qui contient une modification (hammer patch)
des versions ultérieures de GCC. Vous pouvez identifier un GCC 3.3 modifié en vérifiant le
répertoire build de votre projet pour les fichiers se terminant par l'extension '.bbg'.
Les versions non modifiées de GCC 3.3 nomment ces fichiers '.bb'.
La valeur par défaut de ce paramètre est « auto ».
split_crc
Activez ce mode si vous capturez des données de couverture pour un projet qui a été
construit en utilisant une version de GCC 4.6 qui contient une modification (split
les sommes de contrôle des fonctions) des versions ultérieures de GCC. Messages d'erreur typiques lorsque
l'exécution de lcov sur les données de couverture produites par de telles versions de GCC sont « hors de
mémoire' et 'atteint la fin inattendue du fichier'.
La valeur par défaut de ce paramètre est « auto »
--compat-libtool
--no-compat-libtool
Spécifiez s'il faut activer le mode de compatibilité libtool.
Utilisez --compat-libtool pour activer le mode de compatibilité libtool ou --no-compat-libtool pour
le désactiver. Le mode de compatibilité de libtool est activé par défaut.
Lorsque le mode de compatibilité libtool est activé, lcov supposera que le code source
relatif à un fichier .da situé dans un répertoire nommé ".libs" se trouve dans son
Dossier Parent.
Si vous avez des répertoires nommés ".libs" dans votre environnement de construction mais que vous n'utilisez pas
libtool, désactivez cette option pour éviter les problèmes lors de la capture des données de couverture.
--config-fichier fichier de configuration
Spécifiez un fichier de configuration à utiliser.
Lorsque cette option est spécifiée, ni le fichier de configuration à l'échelle du système
/etc/lcovrc, ni le fichier de configuration par utilisateur ~/.lcovrc est lu.
Cette option peut être utile lorsqu'il est nécessaire d'exécuter plusieurs instances de lcov
avec différentes options de fichier de configuration en parallèle.
--convertir les noms de fichiers
Convertir les noms de fichiers lors de l'application de diff.
Utilisez cette option avec --diff pour renommer les noms de fichiers des données traitées
ensembles en fonction des données fournies par le diff.
--diff fichier de trace fichier diff
Convertir les données de couverture en fichier de trace en utilisant le fichier diff du code source fichier diff.
Utilisez cette option si vous souhaitez fusionner les données de couverture de différents codes source
niveaux d'un programme, par exemple lorsque vous avez des données extraites d'une ancienne version et que vous voulez
pour le combiner avec les données d'une version plus actuelle. lcov va essayer de mapper la source
lignes de code entre ces versions et ajuster les données de couverture respectivement.
fichier diff doit être au format unifié, c'est-à-dire qu'il doit être créé en utilisant le "-u"
choix du diff outil.
Notez que les lignes qui ne sont pas présentes dans l'ancienne version ne seront pas comptées comme
instrumentés, les fichiers de trace résultant de cette opération ne doivent donc pas être
interprété individuellement mais avec d'autres fichiers de trace tirés du nouveau
version. Gardez également à l'esprit que les données de couverture converties ne doivent être utilisées que pour
vue d'ensemble, car le processus lui-même introduit une perte de précision.
Le résultat de l'opération diff sera écrit dans stdout ou dans le fichier trace
spécifié avec -o.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
-d annuaire
--annuaire annuaire
Utilisez des fichiers .da dans annuaire au lieu du noyau.
Si vous souhaitez travailler sur les données de couverture d'un programme d'espace utilisateur, utilisez cette option pour
spécifier l'emplacement où le programme a été compilé (c'est là que les fichiers de compteur
se terminant par .da sera stocké).
Notez que vous pouvez spécifier cette option plusieurs fois.
--externe
--no-externe
Spécifiez s'il faut capturer les données de couverture pour les fichiers source externes.
Les fichiers sources externes sont des fichiers qui ne se trouvent pas dans l'un des répertoires
spécifié par --directory ou --base-directory. Utilisez --external pour inclure l'externe
fichiers sources lors de la capture des données de couverture ou --no-external pour ignorer ces données.
Les données des fichiers sources externes sont inclus par défaut.
-e fichier de trace modèle
--extrait fichier de trace modèle
Extraire les données de fichier de trace.
Utilisez ce commutateur si vous souhaitez extraire les données de couverture pour un ensemble particulier de
fichiers à partir d'un fichier de trace. Les paramètres de ligne de commande supplémentaires seront interprétés comme
les modèles de caractères génériques du shell (notez qu'ils peuvent avoir besoin d'être échappés en conséquence pour
empêcher la coque de les étendre en premier). Chaque entrée de fichier dans fichier de trace qui
correspond à au moins un de ces modèles sera extrait.
Le résultat de l'opération d'extraction sera écrit dans stdout ou dans le fichier trace
spécifié avec -o.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
-f
--poursuivre
Suivez les liens lors de la recherche de fichiers .da.
--Depuis le paquet paquet
Utilisez des fichiers .da dans paquet au lieu du noyau ou du répertoire.
Utilisez cette option si vous avez des machines distinctes pour la construction et le test et que vous souhaitez
effectuez la création du fichier .info sur la machine de build. Voir --to-package pour plus d'informations
</br>L’Information.
--gcov-outil outil
Spécifiez l'emplacement de l'outil gcov.
-h
--Aidez-moi
Imprimez un court texte d'aide, puis quittez.
--ignore-erreurs erreurs
Spécifiez une liste d'erreurs après laquelle poursuivre le traitement.
Utilisez cette option pour spécifier une liste d'une ou plusieurs classes d'erreurs après quoi lcov
devrait continuer le traitement au lieu d'abandonner.
erreurs peut être une liste séparée par des virgules des mots-clés suivants :
gcov : l'outil gcov est retourné avec un code de retour différent de zéro.
la source: le fichier de code source d'un ensemble de données est introuvable.
graphique: le fichier graphique est introuvable ou est corrompu.
-i
--initiale
Capturez les données de couverture zéro initiales.
Exécutez lcov avec -c et cette option sur les répertoires contenant .bb, .bbg ou .gcno
fichiers avant d'exécuter un scénario de test. Le résultat est un fichier de données de couverture « de base »
qui contient une couverture nulle pour chaque ligne instrumentée. Combiner ce fichier de données
(à l'aide de lcov -a) avec des fichiers de données de couverture capturés après un test pour s'assurer que
le pourcentage de lignes totales couvertes est correct même si tout le code source n'est pas
fichiers ont été chargés pendant le test.
Procédure recommandée lors de la capture de données pour un scénario de test :
1. créer un fichier de données de couverture de référence
# lcov -c -i -d répapp -o app_base.info
2. effectuer un test
# répapplication/test
3. créer un fichier de données de couverture de test
# lcov -c -d répapp -o app_test.info
4. combiner les données de base et de couverture de test
# lcov -a app_base.info -a app_test.info -o app_total.info
-k sous-répertoire
--répertoire-kernel sous-répertoire
Capturez les données de couverture du noyau uniquement à partir de sous-répertoire.
Utilisez cette option si vous ne voulez pas obtenir de données de couverture pour tout le noyau, mais
uniquement pour des sous-répertoires spécifiques. Cette option peut être spécifiée plusieurs fois.
Notez que vous devrez peut-être spécifier le chemin complet vers le sous-répertoire du noyau
selon la version du support du noyau gcov.
-l fichier de trace
--liste fichier de trace
Lister le contenu du fichier de trace.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
--list-chemin-complet
--no-list-full-path
Indiquez s'il faut afficher les chemins complets pendant l'opération de liste.
Utilisez --list-full-path pour afficher les chemins complets pendant l'opération de liste ou
--no-list-full-path pour afficher les chemins raccourcis. Les chemins sont raccourcie par défaut.
--no-marqueurs
Utilisez cette option si vous souhaitez obtenir des données de couverture sans égard à l'exclusion
marqueurs dans le fichier de code source. Voir informations générales (1) pour plus de détails sur les marqueurs d'exclusion.
--pas de récursion
Utilisez cette option si vous souhaitez obtenir des données de couverture pour le répertoire spécifié uniquement
sans traiter les sous-répertoires.
-o fichier de trace
--fichier de sortie fichier de trace
Écrire des données dans fichier de trace au lieu de stdout.
Spécifiez "-" comme nom de fichier pour utiliser la sortie standard.
Par convention, les fichiers de données de couverture générés par lcov sont appelés « fichiers de trace » et
devrait avoir l'extension de nom de fichier ".info".
--chemin chemin
Supprimez le chemin des noms de fichiers lors de l'application de diff.
Utilisez cette option avec --diff pour dire à lcov d'ignorer le
composant de chemin initial lors de la correspondance entre les noms de fichiers trace et diff.
-q
--silencieux
N'imprimez pas les messages de progression.
Cette option est implicite lorsqu'aucun nom de fichier de sortie n'est spécifié pour empêcher la progression
messages pour perturber les données de couverture qui sont également imprimées sur la sortie standard.
--rc mot-clé=Plus-value
Remplacer une directive de configuration.
Utilisez cette option pour spécifier un mot-clé=Plus-value déclaration qui remplace la
déclaration de configuration correspondante dans le fichier de configuration lcovrc. Vous pouvez
spécifiez cette option plusieurs fois pour remplacer plusieurs instructions de configuration.
See lcovrc(5) pour une liste des mots-clés disponibles et leur signification.
-r fichier de trace modèle
--supprimer fichier de trace modèle
Supprimer les données de fichier de trace.
Utilisez ce commutateur si vous souhaitez supprimer les données de couverture pour un ensemble particulier de fichiers
à partir d'un fichier de trace. Les paramètres de ligne de commande supplémentaires seront interprétés comme un shell
modèles de caractères génériques (notez qu'ils peuvent avoir besoin d'être échappés en conséquence pour empêcher le
shell de les développer en premier). Chaque entrée de fichier dans fichier de trace qui correspond à
au moins un de ces modèles sera supprimé.
Le résultat de l'opération de suppression sera écrit dans stdout ou dans le fichier trace
spécifié avec -o.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
--déshabiller profondeur
Supprimez les composants du chemin lors de l'application de diff.
Utilisez cette option avec --diff pour dire à lcov de ne pas tenir compte du nombre spécifié
des répertoires initiaux lors de la correspondance des noms de fichiers trace et diff.
--sommaire fichier de trace
Affiche les informations de couverture récapitulatives pour le fichier de trace spécifié.
Notez que vous pouvez spécifier cette option plusieurs fois.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
-t nom du test
--nom du test nom du test
Spécifiez le nom du test à stocker dans le fichier de trace.
Ce nom identifie un ensemble de données de couverture lorsque plusieurs ensembles de données sont fusionnés dans
un fichier de trace combiné (voir l'option -a).
Les noms de test valides peuvent comprendre des lettres, des chiffres décimaux et le trait de soulignement
personnage ("_").
--au-package paquet
Stockez les fichiers .da pour un traitement ultérieur.
Utilisez cette option si vous avez des machines distinctes pour la construction et le test et que vous souhaitez
effectuez la création du fichier .info sur la machine de build. Pour ce faire, suivez ces
étapes:
Sur la machine d'essai :
- faire le test
- exécuter lcov -c [-d répertoire] --to-package filet
- copie filet à la machine de construction
Sur la machine de construction :
- exécuter lcov -c --from-package filet [-o et autres options]
Cela fonctionne à la fois pour les données de couverture du noyau et de l'espace utilisateur. Notez que vous pourriez avoir
pour spécifier le chemin d'accès au répertoire de construction en utilisant -b avec --to-package ou
--Depuis le paquet. Notez également que les données du package doivent être converties en un fichier .info
avant de recompiler le programme ou il deviendra invalide.
-v
--version
Imprimer le numéro de version, puis quitter.
-z
--compteurs zéro
Réinitialiser tous les comptes d'exécution à zéro.
Par défaut, essaie de réinitialiser le nombre d'exécutions du noyau. Utilisez l'option --directory pour
remettre à zéro tous les compteurs d'un programme de l'espace utilisateur.
Un seul de -z, -c, -a, -e, -r, -l, --diff ou --summary peut être spécifié à un
le temps.
Utiliser lcov en ligne en utilisant les services onworks.net