PostgreSQL 原始碼可以編譯為包含覆蓋率測試插裝,從而可以檢查程式碼的哪些部分被迴歸測試或執行程式碼的任何其他測試套件覆蓋。目前支援使用 GCC 進行編譯,並且需要 gcov
和 lcov
包。
典型的流程如下:
./configure --enable-coverage ... OTHER OPTIONS ... make make check # or other test suite make coverage-html
然後將您的 HTML 瀏覽器指向 coverage/index.html
。
如果您沒有 lcov
或偏愛文字輸出而非 HTML 報告,可以執行
make coverage
而不是 make coverage-html
,這將為每個相關的原始檔生成 .gcov
輸出檔案。(make coverage
和 make coverage-html
會互相覆蓋檔案,因此混合使用可能會造成混淆。)
您可以在生成覆蓋率報告之前執行多個不同的測試;執行計數將累加。如果您想在測試執行之間重置執行計數,請執行
make coverage-clean
如果您只想獲取程式碼樹一部分的覆蓋率報告,可以在子目錄中執行 make coverage-html
或 make coverage
命令。
完成後,使用 make distclean
進行清理。
典型的流程如下:
meson setup -Db_coverage=true ... OTHER OPTIONS ... builddir/ meson compile -C builddir/ meson test -C builddir/ cd builddir/ ninja coverage-html
然後將您的 HTML 瀏覽器指向 ./meson-logs/coveragereport/index.html
。
您可以在生成覆蓋率報告之前執行多個不同的測試;執行計數將累加。
如果您在文件中發現任何不正確、與您對特定功能的實際體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。