1Run syslogd regressions tests. As only one syslogd can run per 2machine, each test kills any syslogd first. At the end the system's 3syslogd gets restarted. 4The test framework runs a client, and a server, and a syslogd. The 5messages are passed via the log socket or via UDP from the client 6to syslogd. From there UDP transport is used to reach the server. 7All processes write log files where the message has to show up. 8The test arguments are kept in the args-*.pl files. 9The content of a log file, the data sent to a pipe process and what 10the server received are checked. Logging to /dev/console is tested 11with console redirection. Logging to a user's tty is tested with 12a fake login. The invocation of the sendsyslog(2) syscall is checked 13with ktrace, the open file descriptors of syslogd are checked with 14fstat. 15When invoked with "make libevent", all tests are executed three 16times. They pass the EVENT_NO... environment variables over sudo 17into syslogd. This way the select(2) and poll(2) and kqueue(2) 18backend is tested. 19If the rsyslog package is installed, messages are sent to the 20rsyslogd to test interoperability. This is especially useful for 21TCP and TLS. 22 23SUDO=sudo 24As syslogd needs root privileges either run the tests as root or 25set this variable and run make as a regular user. Only the code 26that requires it, is run as root. 27 28KTRACE=ktrace 29Set this variable if you want a ktrace output from syslogd. Note that 30ktrace is invoked after sudo as sudo would disable it. 31 32SYSLOGD=/usr/src/usr.sbin/syslogd/obj/syslogd 33Start an alternative syslogd program that is not in the path. 34