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
を指定します。
カバレッジレポートを作成する前に複数の異なるテストを実行できます。実行回数は累積されます。