The Chromium Chronicle #18: cobertura de código do Chromium

Episódio 18:de Veenita Joshi e Prakhar Asthana em Mountain View, CA (fevereiro de 2021)
Episódios anteriores

A cobertura de teste mede quanto do código-fonte é executado quando um conjunto de testes específico é executado. A geração de dados de cobertura tem três etapas principais: compilação com instrumentação, coleta de dados da execução de testes instrumentados e pós-processamento dos dados. A equipe de cobertura tem ferramentas para automatizar esse processo.

O script de cobertura pode gerar relatórios de cobertura de código em apenas um comando, sem esperar a interface do Gerrit ser atualizada. No momento, este script é compatível com Linux, Mac, iOS e ChromeOS.

Aqui está um exemplo de uso:

$ 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/

Isso cria e executa crypto_unittests e url_unittests targets. Para url_unittests, ele só executa o teste URLParser.PathURL. O relatório de cobertura é filtrado para incluir apenas arquivos e subdiretórios em url/ e crypto/. Além de automatizar o processo, este script fornece outros recursos para ver a cobertura do código por diretórios e componentes.

Captura de tela da saída do script de cobertura. Visualização do diretório
Captura de tela da saída do script de cobertura. Visualização de componentes

A ferramenta de cobertura de código oferece um detalhamento da cobertura de código por diretório e componente para toda a base de código, para Windows, iOS, Android, Linux e ChromeOS.

Compartilhe seu feedback:entre em contato com code-coverage @ chromium.org ou informe um bug em crbug.com.

Recursos