Chromium Chronicle n°18: couverture du code Chromium

Épisode 18:de Veenita Joshi et Prakhar Asthana dans Mountain View, Californie (février 2021)
Épisodes précédents

La couverture des tests mesure la quantité de code source exécutée lorsqu'un utilisateur de la suite de tests. La génération des données de couverture comporte trois étapes principales: la compilation l'instrumentation, la collecte de données à partir de l'exécution de tests d'instrumentation après avoir traité les données. L'équipe de couverture dispose d'outils pour automatiser ce processus.

Le script de couverture permet de générer des rapports de couverture de code en une seule commande, sans attendre la mise à jour de l'interface utilisateur Gerrit. Ce script est actuellement compatible avec Linux, Mac, iOS et ChromeOS.

Voici un exemple d'utilisation:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

Cette opération crée et exécute crypto_unittests et url_unittests targets. Pour url_unittests, il n'exécute que le test URLParser.PathURL. La couverture le rapport est filtré pour n'inclure que les fichiers et les sous-répertoires sous url/ et crypto/. En plus d'automatiser le processus, ce script fournit des fonctionnalités supplémentaires pour afficher la couverture du code par répertoire et par composant.

Capture d'écran du résultat du script de couverture Affichage de l'annuaire
Capture d'écran du résultat du script de couverture Vue Composant

L'outil Couverture de code fournit une répartition de la couverture de code par répertoire et les composants pour l'ensemble du codebase, pour Windows, iOS, Android, Linux et ChromeOS :

Donnez-nous votre avis:contactez code-coverage @ chromium.org ou signalez un bug. sur crbug.com.

Ressources