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

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

La copertura di test misura la quantità di codice sorgente eseguito quando un particolare della suite di test. La generazione dei dati sulla copertura prevede tre passaggi principali: la compilazione alla strumentazione, raccogliendo dati dall'esecuzione di test strumentati e post-elaborazione dei dati. Il team di copertura dispone di strumenti per automatizzare questo processo.

Lo script Copertura può generare report sulla copertura del codice con un solo comando, senza attendere l'aggiornamento della UI di Gemini. 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 crypto_unittests e url_unittests targets. Per url_unittests, esegue solo il test URLParser.PathURL. La copertura il report 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 della copertura del codice per directory e componente per l'intero codebase, per Windows, iOS, Android, Linux ChromeOS

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

Risorse