《マッチ度[83.879781]》PostgreSQLソースコードは、カバレッジテストツールとともにコンパイルすることができるため、リグレッションテスト、あるいはその他のテストスイートによって、コードのどの部分が網羅されているかを評価することができます。
これは現在、GCCを使用してコンパイルした時にサポートされ、gcov
およびlcov
プログラムを必要とします。
《機械翻訳》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
《マッチ度[66.588785]》make coverage-html
の代わりに、これはテストに関連する各ソースファイルに対して.gcov
出力ファイルを生成します。
(make coverage
とmake coverage-html
は互いのファイルを上書きしますので、混用は混乱をひき起こすかもしれません)
《機械翻訳》make coverage-html
の代わりに、テストに関連する各ソースファイルに対して.gcov
出力ファイルを生成します。
(make coverage
とmake coverage-html
は互いのファイルを上書きするので、それらを混在させると混乱する可能性があります。)
《マッチ度[75.586854]》カバレッジレポートを作成する前に複数の異なるテストを実行することができます。 実行カウントは累積されます。 実行カウントをテストの間でリセットしたければ、以下を実行してください。 《機械翻訳》カバレッジレポートを作成する前に、いくつかの異なるテストを実行できます。実行回数は累積されます。 テスト実行の間に実行カウントをリセットする場合は、次のように実行します。
make coverage-clean
《マッチ度[93.406593]》コードツリーの一部だけのカバレッジレポートが必要ならば、make coverage-html
あるいはmake coverage
コマンドをそのサブディレクトリで実行することができます。
《機械翻訳》コードツリーの一部に対してのみカバレッジレポートを作成する場合は、サブディレクトリで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
を指定します。
《機械翻訳》カバレッジレポートを作成する前に、いくつかの異なるテストを実行できます。実行回数は累積されます。