Перейти к основному содержимому

Тесты TAP

примечание

Эта страница переведена при помощи нейросети GigaChat.

Различные тесты, особенно тесты клиентской программы под src/bin, используют инструменты Perl TAP и выполняются с помощью программы тестирования Perl prove. Есть возможность передать параметры командной строки prove, установив переменную make PROVE_FLAGS, например:

make -C src/bin check PROVE_FLAGS='--timer'

Смотрите руководство по prove для получения дополнительной информации.

Переменная make PROVE_TESTS используется для определения списка путей, разделенных пробелами относительно Makefile вызывающего prove для запуска указанного подмножества тестов вместо значения по умолчанию t/*.pl. Например:

make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'

Для проведения тестов TAP требуется модуль Perl IPC::Run. Этот модуль доступен из CPAN или пакета операционной системы. Они также требуют, чтобы PostgreSQL был настроен с опцией --enable-tap-tests.

Тесты TAP будут тестировать исполняемые файлы в предварительно установленной установке дерева, если ввести команду make installcheck, или создать новое локальное дерево установки из текущих источников, если ввести команду make check. В любом случае они инициализируют локальный экземпляр (каталог данных) и временно запускают сервер в нем. Некоторые из этих тестов запускают более одного сервера. Таким образом, эти тесты могут быть довольно ресурсоемкими.

Тесты TAP будут запускать тестовый сервер (серверы), даже если ввести команду make installcheck, это отличается от традиционной инфраструктуры тестирования без TAP, которая ожидает использование уже запущенного тестового сервера в этом случае. Некоторые подкаталоги PostgreSQL содержат как традиционные, так и тесты в стиле TAP, что означает, что make installcheck даст смесь результатов из временных серверов и уже запущенного тестового сервера.