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