Проверка тестового покрытия
Эта страница переведена при помощи нейросети GigaChat.
Исходный код PostgreSQL может быть подготовлен с помощью инструментов тестирования покрытия, чтобы можно было определить, какие части кода охвачены регрессионными тестами или любым другим набором тестов, который выполняется с этим кодом. В настоящее время это поддерживается при компиляции с помощью GCC и требует программ gcov и lcov.
Покрытие с использованием Autoconf и Make
Типичный рабочий процесс выглядит так:
./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
Типичный рабочий процесс выглядит следующим образом:
meson setup -Db_coverage=true ... OTHER OPTIONS ... builddir/
meson compile -C builddir/
meson test -C builddir/
cd builddir/
ninja coverage-html
Затем откройте файл ./meson-logs/coveragereport/index.html в браузере HTML.
Можно запустить несколько различных тестов перед созданием отчета о покрытии; счетчики выполнений будут накапливаться.