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-htmlの代わりに以下を実行してください。
make coverage
これはテストに関連する各ソースファイルに対して.gcov出力ファイルを生成します。
(make coverageとmake coverage-htmlは互いのファイルを上書きしますので、混用は混乱をひき起こすかもしれません)
カバレッジレポートを作成する前に複数の異なるテストを実行することができます。 実行カウントは累積されます。 実行カウントをテストの間でリセットしたければ、以下を実行してください。
make coverage-clean
コードツリーの一部だけのカバレッジレポートが必要ならば、make coverage-htmlあるいはmake coverageコマンドをそのサブディレクトリで実行することができます。
終了後に結果を削除するにはmake distcleanを実行します。