PostgreSQL 源代码可以使用覆盖测试指令编译,因此可以检查哪些部分的代码被回归测试或任何其他测试套件所覆盖。当前使用 GCC 编译时支持该特性,并且需要gcov
和lcov
程序。
一个典型的工作流程看起来是:
./configure --enable-coverage ... OTHER OPTIONS ... make make check # 或其他测试套件 make coverage-html
然后将你的 HTML 浏览器指向coverage/index.html
。make
命令在子目录中也能工作。
要在多次测试运行之间重置执行计数,运行:
make coverage-clean