33.5. Проверка покрытия теста

Исходный код PostgreSQL может быть скомпилирован с инструментарием для теста покрытия, так что можно проверить, какие части кода покрывает регрессионное тестирование или любое другое тестирование, запускаемое относительно кода. В настоящее время эта возможность поддерживается в сочетании с компиляцией с GCC и требует наличия gcov и lcov программ.

Типичный рабочий процесс выглядит так:

./configure --enable-coverage ... OTHER OPTIONS ...
make
make check # или другой комплект тестов
make coverage-html

Затем откройте в своём HTML-браузере страницу coverage/index.html. Команды make работают и в подкаталогах.

Если у вас нет программы lcov или вы предпочитаете HTML-отчёту текстовый формат, вы можете также выполнить

make coverage

вместо make coverage-html и получить выходные файлы .gcov для каждого исходного файла, относящегося к тесту. (Команды make coverage и make coverage-html перезаписывают файлы друг друга, поэтому при одновременном их использовании может возникнуть путаница.)

Чтобы обнулить подсчёт выполнений между тестами, запустите:

make coverage-clean