Следующая:Testing the Compilation, Следующая:, Предыдущая:Compilation, Вверх:Installing Taylor UUCP



Testing the Compilation

Проверка откомпилированного пакета

Если ваша система поддерживает псевдотерминалы, и код компилируется с поддержкой файлов конфигурации нового стиля (в файле policy.h макро HAVE_TAYLOR_CONFIG установлено в 1), то вы можете использовать программу tstuu для тестирования демона uucico. Если Ваша система поддерживает STREAMS псевдо-терминалы, то сборка программы tstuu.c должна осуществляться с ключом -DHAVE_STREAMS_PTYS. (Код для потоков пожертвовал Marc Boucher).

Для того чтобы запустить tstuu, напечатайте tstuu без параметров. Запускать данную программу следует в каталоге компиляции, так как при этом запускаются ./uucp, ./uux и ./uucico. Программа tstuu выполняет длинную серию испытаний (что занимает порядка десяти минут на медленном VAX). При этом требуется достаточное количество пространства в /usr/tmp. Кроме того, по всей видимости, Вам захочется запустить программу в фоновом режиме. Для этого не используйте ^Z, потому что программа перехватывает сигналы SIGCHLD и завершает свою работу. Программа tstuu создает каталог /usr/tmp/tstuu, в котором размещает конфигурационные файлы, кроме того, создаются spool каталоги /usr/tmp/tstuu/spool1 и /usr/tmp/tstuu/spool2.

Если ваша система не поддерживает вызов FIONREAD, программа tstuu будет выполняться очень медленно. Этот может быть исправлено, а может быть, и не исправлено в более поздней версии.

Программа tstuu заканчивает работу с исполнением файла по имени X.something и файла данных по имени D.something каталоге /usr/tmp/tstuu/spool1 (или, более вероятно, в подкаталогах, в зависимости от выбора SPOOLDIR в файле policy.h). В каталоге /usr/tmp/tstuu создаются два журнала. Они называются как Log1 и Log2, или если в policy.h выбрано HAVE_HDB_LOGGING, то данные файлы называются Log1/uucico/test2 и Log2/uucico/test1. В этих файлах не должно быть никаких ошибок.

Вы можете оттестировать программу uuxqt запустив ./uuxqt -I /usr/tmp/tstuu/Config1. При этом должны остаться файл команд C.something и файл данных D.something в каталоге /usr/tmp/tstuu/spool1 в его подкаталогах. В журнале не должно быть никаких ошибок. Кроме того в log файлах не должно быть также сообщений о ошибках.

Предположим что код откомпилирован с разрешением кода отладки, опция -x может использоваться для установки режимов отладки; смотри команду debug (смотрите Debugging Levels). Для того чтобы включить всю отладку используйте -x all. Демон uucico помещает отладочный вывод в файл Debug1 и Debug2 каталога /usr/tmp/tstuu.

На некоторых системах Вы можете также использовать tstuu, чтобы проверить uucico вместо системного uucico, используя опцию -u. Для того, чтобы это работало, замените определения ZUUCICO_CMD и UUCICO_EXECL верхнего файла tstuu.c на соответствующие значения для вашей системы. Определения в файле tstuu.c это те определения, которые использовались в Ultrix 4.0, на котором особенно трудно запустить /usr/lib/uucp/uucico в качестве дочернего процесса; это можно было выполнить только, создав пользователя с именем входа в систему, но без пароля, и с командной оболочкой /usr/lib/uucp/uucico. При входе в систему, таким образом, в файлы wtmp и utmp будут записаны отдельные элементы; если программа tstout.c (каталога contrib) собирается как программа setuid root, tstuu запускает эту программу, для того чтобы убрать данные записи. Для большинства систем, так не следует действовать, хотя под SCO я должен был выполнить команду su, чтобы стать root прежде, чем я смог запустить /usr/lib/uucp/uucico.

Также можно оттестировать uucp и uux запустив их с ключом -r, (для блокировки запуска uucico) и проверив, что программы создают правильные файлы. К сожалению, если вы не знаете, какими должны выглядеть правильные файлы, я (автор) не собираюсь приводить их здесь.

Если не возможно запустить tstuu, или он завершается неудачно, то не следует слишком сильно об этом волноваться. На некоторых системах программа tstuu завершается неудачно из-за проблем, связанных с использованием псевдо терминалов, которые при нормальном выполнении не используются. При реальном тестировании пакет взаимодействует с другой системой.