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 和 Linux) ChromeOS。

提供意見:聯絡「code-coverage @ chromium.org」或回報錯誤 前往 crbug.com

資源