Chromium Chronicle #18:Chromium 程式碼涵蓋率

第 18 集:Veenita Joshi 和 Prakhar Asthana 在加州山景城 (2021 年 2 月)
先前的集數

測試涵蓋範圍會評估特定測試套件在執行時執行原始碼的數量。產生涵蓋率資料有三個主要步驟:編譯檢測設備、從執行檢測設備測試收集資料,以及資料後處理。涵蓋率團隊可以使用工具自動執行這項程序

涵蓋率指令碼 只需一個指令即可產生程式碼涵蓋率報表,不必等待 Gerrit UI 更新。這個指令碼目前適用於 Linux、Mac、iOS 和 ChromeOS。

使用範例如下:

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

這項操作會建構並執行 crypto_unittestsurl_unittests targets。如果是 url_unittests,系統只會執行 URLParser.PathURL 測試。涵蓋率報表經過篩選,僅納入 url/crypto/ 底下的檔案和子目錄。除了將程序自動化之外,這個指令碼還提供其他功能,可依目錄和元件查看程式碼涵蓋率

涵蓋率指令碼輸出內容的螢幕截圖。 目錄檢視
涵蓋率指令碼輸出內容的螢幕截圖。 元件檢視畫面

程式碼涵蓋率工具針對 Windows、iOS、Android、Linux 和 ChromeOS 等整個程式碼集,提供依目錄和元件細分的程式碼涵蓋率。

提供意見:請與 code-coverage @ chromium.org 聯絡或在 crbug.com 上回報錯誤。

資源