評估程式碼涵蓋率

您正在處理變更。您想評估新程式碼的程式碼涵蓋率。

V8 提供兩個工具來執行此操作:本機(在您的機器上)和建置基礎架構支援。

本機 #

相對於 v8 儲存庫的根目錄,請使用 ./tools/gcov.sh(已在 Linux 上測試)。這會使用 gnu 的程式碼涵蓋率工具和一些腳本來產生 HTML 報告,您可以在其中深入了解每個目錄、檔案,然後深入到程式碼行中的涵蓋率資訊。

腳本會在使用 gcov 設定的獨立 out 目錄下建置 V8。我們使用獨立的目錄來避免破壞您的正常建置設定。這個獨立的目錄稱為 cov — 它會立即在儲存庫根目錄下建立。然後 gcov.sh 會執行測試套件,並產生報告。腳本完成時會提供報告路徑。

如果您的變更具有特定於架構的元件,您可以從特定於架構的執行中累積收集涵蓋率。

./tools/gcov.sh x64 arm

這會為每個架構就地重新建置,破壞前一次執行中的二進位檔,但會保留並累積涵蓋率結果。

預設情況下,腳本會從 Release 執行中收集。如果您想要 Debug,您可以指定

BUILD_TYPE=Debug ./tools/gcov.sh x64 arm arm64

不帶任何選項執行腳本也會提供選項摘要。

程式碼涵蓋率機器人 #

對於每個已發生的變更,我們會執行 x64 涵蓋率分析 — 請參閱 涵蓋率機器人。我們不會為其他架構執行涵蓋率機器人。

若要取得特定執行的報告,您需要列出建置步驟,找到「gsutil 涵蓋率報告」(接近尾聲),並開啟其下的「報告」。