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

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

Autoconf

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


Рекомендации по написанию тестовых программ

@anchor{Guidelines}

Тестовые программы не должны выдавать никаких сообщений на поток стандартного вывода. Они должны возвращать значение 0 в случае удачи и ненулевое значение — в противном случае, так что удачное выполнение можно легко отличить от выдачи дампа при крахе программы или другого неудачного выполнения; нарушение доступа к памяти и другие сбои возвращают ненулевой статус завершения. Тестовые программы должны завершать работу с помощью вызова функции exit, а не с помощью оператора return из подпрограммы main, поскольку на некоторых системах (по крайней мере, на старых машинах Sun) в подпрограмме main игнорируется аргумент оператора return.

Тестовые программы могут использовать директивы #if или #ifdef для проверки значений макросов препроцессора, определенных уже проведенными тестами. Например, если вы вызовете AC_HEADER_STDC, то далее в `configure.in’ можно использовать тестовую программу, которая в зависимости от условия включает заголовочные файлы ANSI C:

#if STDC_HEADERS
# include <stdlib.h>
#endif

Если тестовой программе нужно использовать или создать файл данных, то задавайте этому файлу имя, которое начинаются с `conftest’, например, `conftestdata’. Скрипт configure после выполнения тестовых программ а также в случае прерывания работы скрипта удаляет эти файлы с помощью команды `rm -rf conftest*’.


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

Comments