Следующая:Testing the Compilation, Следующая:Installing the Binaries, Предыдущая:Compilation, Вверх:Installing Taylor UUCP
Проверка откомпилированного пакета
Если ваша система поддерживает псевдотерминалы, и код компилируется
с поддержкой файлов конфигурации нового стиля (в файле 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 завершается неудачно из-за проблем,
связанных с использованием псевдо терминалов, которые при нормальном
выполнении не используются. При реальном тестировании пакет
взаимодействует с другой системой.