The stdsyslog test suite
Overview
The stdsyslog
source distribution contains a Python test suite that
attempts to run an instance of the rsyslogd
tool to make sure that
stdsyslog
invocations will produce syslog messages with the correct
facility and level.
The test suite is designed to be executed from a non-root user account in
an environment where passwordless sudo
access is configured for that
user account.
There is also a harness for launching a Docker container, installing
the necessary Debian/Ubuntu packages within it, and then running
the test suite there.
The test suite itself
The source of the stdtestlog
suite is located in the python/src/
subdirectory of the stdsyslog
source tree.
There is a python/bin/stdtestlog
shell helper to run it.
Once a stdsyslog
program has been compiled and passwordless sudo
access has been configured for a user account, the test suite is
invoked using the following command:
Running the test suite in a Docker container
The stdtestlog
runner may also be invoked as:
The -i
option may be used to specify a container image other than
the debian:unstable
default.
The --prepared
option may be used to indicate that the Debian/Ubuntu
packages that the test suite requires (currently python3
, python3-click
,
sudo
, and rsyslog
) are already installed in the container image.
When invoked in this way, the runner will launch a Docker container,
mount its own Python source directory read-only within, mount the specified
stdsyslog
program as /usr/bin/stdsyslog
, configure passwordless sudo
access for the test account, and run the test suite.