32.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