Chromium Chronicle #18: Cakupan Kode Chromium

Episode 18: oleh Veenita Joshi dan Prakhar Asthana di Mountain View, CA (Februari 2021)
Episode sebelumnya

Cakupan pengujian mengukur jumlah kode sumber yang dijalankan saat rangkaian pengujian tertentu berjalan. Menghasilkan data cakupan memiliki tiga langkah utama: mengompilasi dengan instrumentasi, mengumpulkan data dari menjalankan uji instrumentasi, dan pascapemrosesan data. Tim liputan memiliki alat untuk mengotomatiskan proses ini.

Skrip cakupan dapat menghasilkan laporan cakupan kode hanya dengan satu perintah, tanpa menunggu UI Gerrit diupdate. Skrip ini saat ini didukung di Linux, Mac, iOS, dan ChromeOS.

Berikut adalah contoh penggunaan:

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

Tindakan ini akan mem-build dan menjalankan crypto_unittests dan url_unittests targets. Untuk url_unittests, pengujian ini hanya menjalankan pengujian URLParser.PathURL. Laporan cakupan difilter agar hanya menyertakan file dan subdirektori di bagian url/ dan crypto/. Selain mengotomatiskan proses, skrip ini menyediakan fitur tambahan untuk melihat cakupan kode berdasarkan direktori dan komponen.

Screenshot output dari skrip cakupan. Tampilan Direktori
Screenshot output dari skrip cakupan. Tampilan Komponen

Alat Cakupan Kode menyediakan perincian cakupan kode berdasarkan direktori dan komponen untuk seluruh codebase, untuk Windows, iOS, Android, Linux, dan ChromeOS.

Berikan masukan: Hubungi code-coverage @ chromium.org atau laporkan bug di crbug.com.

Referensi