評估程式碼涵蓋率
您正在處理變更。您想評估新程式碼的程式碼涵蓋率。
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 涵蓋率報告」(接近尾聲),並開啟其下的「報告」。