Bitcoin-Core-Development

我可以加快功能測試的執行嗎?

  • March 16, 2022

我正在使用測試執行器執行比特幣核心功能測試,並且需要很長時間才能通過所有測試。有沒有辦法加快速度?

test/functional/test_runner.py --extended

比特幣核心測試自述文件指出:

預設情況下,test_runner 最多可以並行執行 4 個測試。要指定要執行的作業數,請追加--jobs=n

單個測試和 test_runner 工具有許多命令行選項。跑去test/functional/test_runner.py -h看看他們。

Pieter Wuille 還解釋了他如何在GitHub上將總時間降至 4 分鐘以下:

您可以並行執行它們;如果你有足夠的 RAM 非常均勻。test_runner.py -j60在我的 4 核 32 GiB RAM 系統上執行良好,耗時 3m46s。很多時候都是程序相互等待,所以它實際上不受 CPU 限制。

如果您增加並行度,一些測試可能會由於超時而失敗,因為功能測試需要一個相當快速且沒有負擔的系統來執行。如果您因超時而遇到故障,則減少並行度和/或增加超時規模(兩者都是測試執行程序參數)是兩種嘗試方法。

或者,您可以使用 Mac 的以下命令在 RAM 磁碟上執行功能測試:

diskutil erasevolume HFS+ RAMDisk `hdiutil attach -nomount ram://10485760` 

test/functional/test_runner.py --jobs=50 --cachedir=/Volumes/RAMDisk/cache --tmpdir=/Volumes/RAMDisk/tmp

感謝 wumpus 和 provoostenator 在 IRC 上添加評論。

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