Bitcoin-Core-Development

如何分析比特幣核心程式碼庫的測試覆蓋率?

  • February 27, 2022

我聽說編寫測試是為 Bitcoin Core 做出貢獻的一個很好的起點。如何確定程式碼庫的哪些部分或特定行需要額外的測試覆蓋?

Marco Falke 有一個網站,可以分析單元測試、功能測試和模糊測試的目前行、功能和分支覆蓋率。

或者,vasild 執行 clang 的工具,然後執行一個腳本來突出顯示覆蓋報告中的哪些行已被特定更新檔 (PR) 修改。

如果您打算為 Bitcoin Core 做出貢獻,您必須能夠在本地建構這些報告。這樣您就可以比較您的更改是否有效地增加了覆蓋率。

一般步驟是:

  • 下載程式碼並編譯
  • 安裝 LCOV 以生成報告
  • 配置比特幣啟用線路覆蓋,即--enable-lcov
  • 執行覆蓋任務,即make cov

正確設置開發環境後,命令為:

./configure --enable-lcov
make cov

官方文件位於:developer-notes.md#compiling-for-test-coverage

引用自:https://bitcoin.stackexchange.com/questions/99207