systemd/test
2019-08-28 21:24:53 +02:00
..
fuzz New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
hwdb New upstream version 233 2017-03-02 10:44:39 +01:00
journal-data New upstream version 233 2017-03-02 10:44:39 +01:00
loopy.service.d Imported Upstream version 222 2015-07-08 07:08:31 +02:00
mocks Imported Upstream version 221 2015-06-22 17:16:03 +02:00
TEST-01-BASIC New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-02-CRYPTSETUP New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
TEST-03-JOBS New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-04-JOURNAL New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-05-RLIMITS New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-06-SELINUX New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-07-ISSUE-1981 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-08-ISSUE-2730 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-09-ISSUE-2691 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-10-ISSUE-2467 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-11-ISSUE-3166 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-12-ISSUE-3171 New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-13-NSPAWN-SMOKE New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-14-MACHINE-ID New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-15-DROPIN New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-16-EXTEND-TIMEOUT New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-17-UDEV-WANTS New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-18-FAILUREACTION New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
TEST-19-DELEGATE New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
TEST-20-MAINPIDGAMES New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-21-SYSUSERS New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-22-TMPFILES New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-23-TYPE-EXEC New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-24-UNIT-TESTS New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
TEST-25-IMPORT New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-26-SETENV New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-27-STDOUTFILE New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-28-PERCENTJ-WANTEDBY New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-29-UDEV-ID_RENAMING New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-30-ONCLOCKCHANGE New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-31-DEVICE-ENUMERATION New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-32-OOMPOLICY New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-33-CLEAN-UNIT New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
TEST-34-DYNAMICUSERMIGRATE New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-35-NETWORK-GENERATOR New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
TEST-36-NUMAPOLICY New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
test-execute New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
test-network New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
test-path Imported Upstream version 228 2015-11-18 10:25:59 +01:00
test-resolve New upstream version 233 2017-03-02 10:44:39 +01:00
test-umount New upstream version 239 2018-06-22 13:38:31 +02:00
unit-.service.d New upstream version 239 2018-06-22 13:38:31 +02:00
unit-with-.service.d New upstream version 239 2018-06-22 13:38:31 +02:00
unit-with-multiple-.service.d New upstream version 239 2018-06-22 13:38:31 +02:00
unit-with-multiple-dashes.service.d New upstream version 239 2018-06-22 13:38:31 +02:00
.gitignore Imported Upstream version 222 2015-07-08 07:08:31 +02:00
a-conj.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
a.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
b.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
basic.target Imported Upstream version 222 2015-07-08 07:08:31 +02:00
c.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
create-sys-script.py New upstream version 239 2018-06-22 13:38:31 +02:00
d.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
daughter.service New upstream version 240 2018-12-21 22:06:22 +01:00
dml-discard-empty.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-discard-set-ml.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-discard.slice New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-override-empty.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-override.slice New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-passthrough-empty.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-passthrough-set-dml.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-passthrough-set-ml.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml-passthrough.slice New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
dml.slice New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
e.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
end.service Imported Upstream version 228 2015-11-18 10:25:59 +01:00
f.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
g.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
grandchild.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
h.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
hello-after-sleep.target Imported Upstream version 217 2014-11-20 15:28:12 +01:00
hello.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
hwdb-test.sh New upstream version 239 2018-06-22 13:38:31 +02:00
i.service New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
loopy2.service Imported Upstream version 222 2015-07-08 07:08:31 +02:00
loopy3.service Imported Upstream version 222 2015-07-08 07:08:31 +02:00
loopy4.service Imported Upstream version 222 2015-07-08 07:08:31 +02:00
loopy.service Imported Upstream version 222 2015-07-08 07:08:31 +02:00
meson.build New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
mkosi.build.networkd-test New upstream version 240 2018-12-21 22:06:22 +01:00
mkosi.default.networkd-test New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
mkosi.nspawn.networkd-test New upstream version 240 2018-12-21 22:06:22 +01:00
networkd-test.py New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
nomem.slice New upstream version 240 2018-12-21 22:06:22 +01:00
nomemleaf.service New upstream version 240 2018-12-21 22:06:22 +01:00
parent-deep.slice Imported Upstream version 217 2014-11-20 15:28:12 +01:00
parent.slice Imported Upstream version 230 2016-05-22 21:34:07 +02:00
README.testsuite New upstream version 242 2019-04-19 01:12:47 +02:00
rule-syntax-check.py New upstream version 241 2019-02-20 21:24:33 -03:00
run-integration-tests.sh New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
run-unit-tests.py New upstream version 240 2018-12-21 22:06:22 +01:00
sched_idle_bad.service Imported Upstream version 204 2014-04-26 10:08:46 +02:00
sched_idle_ok.service Imported Upstream version 204 2014-04-26 10:08:46 +02:00
sched_rr_bad.service Imported Upstream version 204 2014-04-26 10:08:46 +02:00
sched_rr_change.service Imported Upstream version 204 2014-04-26 10:08:46 +02:00
sched_rr_ok.service Imported Upstream version 204 2014-04-26 10:08:46 +02:00
shutdown.target Imported Upstream version 222 2015-07-08 07:08:31 +02:00
sleep.service Imported Upstream version 217 2014-11-20 15:28:12 +01:00
sockets.target Imported Upstream version 222 2015-07-08 07:08:31 +02:00
son.service Imported Upstream version 214 2014-07-11 02:23:25 +02:00
splash.bmp Imported Upstream version 222 2015-07-08 07:08:31 +02:00
sys-script.py New upstream version 239 2018-06-22 13:38:31 +02:00
sysinit.target Imported Upstream version 222 2015-07-08 07:08:31 +02:00
sysv-generator-test.py New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
test-efi-create-disk.sh New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
test-exec-deserialization.py New upstream version 239 2018-06-22 13:38:31 +02:00
test-functions New upstream version 243~rc2 2019-08-28 21:24:53 +02:00
testsuite.target Imported Upstream version 217 2014-11-20 15:28:12 +01:00
timers.target Imported Upstream version 222 2015-07-08 07:08:31 +02:00
udev-test.pl New upstream version 243~rc1 2019-08-02 17:53:47 +02:00
unit-with-multiple-dashes.service New upstream version 239 2018-06-22 13:38:31 +02:00
unstoppable.service Imported Upstream version 228 2015-11-18 10:25:59 +01:00

The extended testsuite only works with UID=0. It contains of several
subdirectories named "test/TEST-??-*", which are run one by one.

To run the extended testsuite do the following:

$ ninja -C build  # Avoid building anything as root later
$ sudo test/run-integration-tests.sh
ninja: Entering directory `/home/zbyszek/src/systemd/build'
ninja: no work to do.
--x-- Running TEST-01-BASIC --x--
+ make -C TEST-01-BASIC BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run
make: Entering directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC'
TEST CLEANUP: Basic systemd setup
TEST SETUP: Basic systemd setup
...
TEST RUN: Basic systemd setup [OK]
make: Leaving directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC'
--x-- Result of TEST-01-BASIC: 0 --x--
--x-- Running TEST-02-CRYPTSETUP --x--
+ make -C TEST-02-CRYPTSETUP BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run

If one of the tests fails, then $subdir/test.log contains the log file of
the test.

To run just one of the cases:

$ sudo make -C test/TEST-01-BASIC clean setup run

Specifying the build directory
==============================

If the build directory is not detected automatically, it can be specified
with BUILD_DIR=:

$ sudo BUILD_DIR=some-other-build/ test/run-integration-tests

or

$ sudo make -C test/TEST-01-BASIC BUILD_DIR=../../some-other-build/ ...

Note that in the second case, the path is relative to the test case directory.
An absolute path may also be used in both cases.

Configuration variables
=======================

TEST_NO_QEMU=1
    Don't run tests under QEMU

TEST_NO_NSPAWN=1
    Don't run tests under systemd-nspawn

TEST_NO_KVM=1
    Disable QEMU KVM autodetection (may be necessary when you're trying to run the
    *vanilla* QEMU and have both qemu and qemu-kvm installed)

QEMU_MEM=512M
    Configure amount of memory for QEMU VMs (defaults to 512M)

QEMU_SMP=1
    Configure number of CPUs for QEMU VMs (defaults to 1)

KERNEL_APPEND='...'
    Append additional parameters to the kernel command line

NSPAWN_ARGUMENTS='...'
    Specify additional arguments for systemd-nspawn

QEMU_TIMEOUT=infinity
    Set a timeout for tests under QEMU (defaults to infinity)

NSPAWN_TIMEOUT=infinity
    Set a timeout for tests under systemd-nspawn (defaults to infinity)

INTERACTIVE_DEBUG=1
    Configure the machine to be more *user-friendly* for interactive debuggung
    (e.g. by setting a usable default terminal, suppressing the shutdown after
    the test, etc.)

The kernel and initramfs can be specified with $KERNEL_BIN and $INITRD.
(Fedora's or Debian's default kernel path and initramfs are used by default)

A script will try to find your QEMU binary. If you want to specify a different
one with $QEMU_BIN.

Debugging the qemu image
========================

If you want to log in the testsuite virtual machine, you can specify additional
kernel command line parameter with $KERNEL_APPEND and then log in as root.

$ sudo make -C test/TEST-01-BASIC KERNEL_APPEND="systemd.unit=multi-user.target" run

Root password is empty.