Chromium Chronicle #18: Cakupan Kode Chromium

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

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

Skrip Cakupan dapat membuat 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 penggunaannya:

$ 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. Sebagai url_unittests, kode ini hanya menjalankan pengujian URLParser.PathURL. Cakupan laporan difilter agar hanya menyertakan file dan subdirektori di bagian url/ dan crypto/. Selain mengotomatiskan proses, skrip ini memberikan 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 menurut direktori dan komponen untuk seluruh codebase, untuk Windows, iOS, Android, Linux, dan ChromeOS.

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

Resource