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