2017-09-27 1 views
1

J'utilise la commande Genhtml pour générer un rapport de couverture html de Bazel fichier généré coverage.dat:En utilisant Bazel pour générer un rapport de couverture

genhtml bazel-testlogs/path/to/TestTarget/coverage.dat --output-directory coverage 

Le problème avec l'utilisation Genhtml est que je dois fournir les chemins d'accès à la couverture Fichiers .dat (qui sont générés dans bazel-testlogs/..) Est-il possible de récupérer ces fichiers coverage.dat en tant que résultat d'une autre règle?

J'aimerais ne pas avoir à appeler la commande genthml directement, mais que Bazel gère tout.

Répondre

2

Je n'ai pas réussi à trouver un moyen d'obtenir des fichiers coverage.dat en tant que résultat d'une règle de bazel. Cependant, j'ai pu envelopper tous les emplacements de tous les fichiers .dat comme à un groupe de fichiers SRCs dans le répertoire WORKSPACE:

filegroup(
    name = "coverage_files", 
    srcs = glob(["bazel-out/**/coverage.dat"]), 
) 

puis l'utiliser dans une coutume filegroup règle .bzl qui enveloppe la commande genthml pour générer rapport de couverture html. Alors maintenant, je n'ai que d'appeler

bazel coverage //path/... --instrumentation_filter=/path[/:] 
commande

pour générer les fichiers coverage.dat, générer un rapport html et zip it up. Ainsi, bazel gère tout.