Алексей Махоткин

домашняя страница

Automake

Go to the first, previous, next, last section, table of contents.


Поддержка комплектов тестирования

Automake поддерживает два вида тестовых наборов.

Если определена переменная TESTS, то ее значение является списком программ, которые надо запустить для проведения тестирования. Программы могут быть либо порожденными, либо исходными объектами; сгенерированное правило будет искать их в srcdir и в `.’. Программы, которые используют файлы данных, должны искать их в каталоге srcdir (который указан в одноименных переменных среды и make), так что они будут работать как при компиляции в отдельном каталоге (see section `Build Directories’ in The Autoconf Manual), так и, в частности, для цели distcheck (see section Что войдет в дистрибутив).

Количество сбоев будет напечатано в конце запуска. Если заданная тестовая программа заканчивает работу с кодом 77, то ее результаты игнорируется в завершающем подсчете. Это свойство позволяет игнорировать непереносимые тесты, если они неважны в данной среде.

Переменная TESTS_ENVIRONMENT может быть использована для установки переменных среды для запускаемых тестов; при выполнении этого правила устанавливается переменная среды srcdir. Если все ваши тестовые программы являются скриптами, то вы также можете поместить в переменную TESTS_ENVIRONMENT строку вызова командной оболочки (например, `$(SHELL) -x’); эта возможность может быть полезна при отладке тестов.

Если в переменной AUTOMAKE_OPTIONS указано `dejagnu’, то предполагается использования комплекта тестов на базе dejagnu. Значение переменной DEJATOOL передается как аргумент ключа –tool программы runtest; по умолчанию это имя пакета.

Переменная RUNTESTDEFAULTFLAGS содержит флаги для ключей –tool и –srcdir, которые по умолчанию передаются dejagnu; в случае необходимости это поведение может быть изменено.

Переменные EXPECT, RUNTEST и RUNTESTFLAGS могут быть переопределены для подстановки специфичных для проекта значений. Например, если вы тестируете все компоненты компилятора (компилятор, ассемблер, линковщик), то вам потребуется сделать такое переопределение, потому что их значения по умолчанию не содержат указаний на машину компиляции и целевую машину.

В любом случае, тестирование производится командой `make check’.


Go to the first, previous, next, last section, table of contents.

Comments