systemd/test
Lennart Poettering 8adb3d63e6 test: add test for DynamicUser= + StateDirectory=
Also, tests for DynamicUser= should really run for system mode, as we
allocate from a system resource.

(This also increases the test timeout to 2min. If one of our tests
really hangs then waiting for 2min longer doesn't hurt either. The old
2s is really short, given that we run in potentially slow VM
environments for this test. This becomes noticable when the slow "find"
command this adds is triggered)
2017-10-02 17:41:44 +02:00
..
hwdb hwdb: improve and test syntax error messages 2016-12-01 11:56:50 -05:00
journal-data test-journal-importer: add a test case with broken input 2017-02-15 00:31:55 -05:00
loopy.service.d
mocks Add mock fsck process 2015-02-18 16:33:46 +01:00
TEST-01-BASIC test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-02-CRYPTSETUP test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-03-JOBS test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-04-JOURNAL test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-05-RLIMITS test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-06-SELINUX test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-07-ISSUE-1981 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-08-ISSUE-2730 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-09-ISSUE-2691 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-10-ISSUE-2467 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-11-ISSUE-3166 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-12-ISSUE-3171 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-13-NSPAWN-SMOKE test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-14-MACHINE-ID test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-15-DROPIN test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
test-execute test: add test for DynamicUser= + StateDirectory= 2017-10-02 17:41:44 +02:00
test-path test-path: move all related test files to a specific directory 2015-10-31 15:07:19 +01:00
test-resolve test: move resolved test data into test/ 2017-02-13 22:23:48 +01:00
.gitignore
a.service
b.service
basic.target
c.service
create-sys-script.py sys-script: remove output directory if it exists 2017-09-29 12:28:25 +02:00
d.service
daughter.service
e.service
end.service tests: various fixes 2015-11-10 18:01:15 +00:00
f.service
g.service
grandchild.service
h.service
hello-after-sleep.target
hello.service
hwdb-test.sh meson: hook up hwdb-test.sh again 2017-09-26 13:44:38 +02:00
loopy.service
loopy2.service
loopy3.service
loopy4.service
Makefile.guess test: try to guess the build directory 2017-07-18 10:05:06 -04:00
meson.build test: add test for DynamicUser= + StateDirectory= 2017-10-02 17:41:44 +02:00
networkd-test.py test: drop Exec* prefixes to obtain paths of executables 2017-08-30 16:00:07 +09:00
parent-deep.slice
parent.slice core: translate between IO and BlockIO settings to ease transition 2016-05-18 17:35:12 -07:00
README.testsuite test: explain why we explicitly make all despite test/Makefile's check target calling it (#5830) 2017-04-29 08:23:13 +02:00
rule-syntax-check.py more portable python shebangs (#5816) 2017-04-30 20:26:56 -04:00
sched_idle_bad.service
sched_idle_ok.service
sched_rr_bad.service
sched_rr_change.service
sched_rr_ok.service
shutdown.target
sleep.service
sockets.target
son.service
splash.bmp sd-boot: add EFI boot manager and stub loader 2015-02-17 14:36:59 +01:00
sys-script.py sys-script: remove output directory if it exists 2017-09-29 12:28:25 +02:00
sysinit.target
sysv-generator-test.py sysv-generator-test: do not query $builddir 2017-09-26 13:44:38 +02:00
test-efi-create-disk.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
test-exec-deserialization.py service: attempt to execute next main command only for oneshot services (#6619) 2017-08-25 16:36:10 +03:00
test-functions test: drop Exec* prefixes to obtain paths of executables 2017-08-30 16:00:07 +09:00
testsuite.target
timers.target
udev-test.pl udev-rules: all values can contain escaped double quotes now (#6890) 2017-09-28 08:53:46 +02:00
unstoppable.service tests: fix unstoppable service 2015-11-12 03:24:10 +00: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:

$ make all  # Avoid the "sudo make" below building anything as root
$ cd test
$ sudo make clean check
...
make[1]: Entering directory `/mnt/data/harald/git/systemd/test/TEST-01-BASIC'
Making all in .
Making all in po
TEST: Basic systemd setup [OK]
make[1]: Leaving directory `/mnt/data/harald/git/systemd/test/TEST-01-BASIC'
...

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

To debug a special testcase of the testsuite do:

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

QEMU
====

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

$ sudo make KERNEL_APPEND="systemd.unit=multi-user.target" clean setup run

you can even skip the "clean" and "setup" if you want to run the machine again.

$ sudo make KERNEL_APPEND="systemd.unit=multi-user.target" run

You can specify a different kernel and initramfs with $KERNEL_BIN and $INITRD.
(Fedora's or Debian's default kernel path and initramfs are used by default)

$ sudo make KERNEL_BIN=/boot/vmlinuz-foo INITRD=/boot/initramfs-bar clean check

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

$ sudo make QEMU_BIN=/path/to/qemu/qemu-kvm clean check