The Chromium Chronicle n. 18: copertura del codice di Chromium

Episodio 18: di Veenita Joshi e Prakhar Asthana a Mountain View, CA (febbraio 2021)
Puntate precedenti

La copertura dei test misura la quantità di codice sorgente eseguita quando viene eseguita una determinata suite di test. La generazione dei dati di copertura prevede tre passaggi principali: compilazione con la strumentazione, raccolta dei dati dall'esecuzione di test strumentati e post-elaborazione dei dati. Il team di copertura dispone di strumenti per automatizzare questo processo.

Lo script di copertura può generare report sulla copertura del codice con un solo comando, senza attendere l'aggiornamento dell'UI di Genrrit. Questo script è attualmente supportato su Linux, Mac, iOS e ChromeOS.

Ecco un esempio di utilizzo:

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

Questa operazione crea ed esegue i crypto_unittests e url_unittests targets. Per url_unittests, esegue solo il test URLParser.PathURL. Il report sulla copertura viene filtrato in modo da includere solo i file e le sottodirectory in url/ e crypto/. Oltre ad automatizzare il processo, questo script fornisce funzionalità aggiuntive per visualizzare la copertura del codice per directory e componenti.

Screenshot dell'output dello script di copertura. Visualizzazione directory
Screenshot dell'output dello script di copertura. Visualizzazione componenti

Lo strumento Copertura del codice fornisce un'analisi dettagliata della copertura del codice per directory e componente per l'intero codebase, per Windows, iOS, Android, Linux e ChromeOS.

Condividi il tuo feedback: contatta code-coverage @ chromium.org o segnala un bug su crbug.com.

Risorse