Systemd/test
Zbigniew Jędrzejewski-Szmek f06a6bcd76 test-journal-importer: add a test case with broken input 2017-02-15 00:31:55 -05:00
..
TEST-01-BASIC test: merge check_nspawn() into run_nspawn() 2016-06-24 16:23:39 +02:00
TEST-02-CRYPTSETUP tree-wide: remove uses of --failed 2016-05-08 20:27:33 -04:00
TEST-03-JOBS tests: use less aggressive systemctl --wait timeout in TEST-03-JOBS (#4606) 2016-11-07 21:51:20 +03:00
TEST-04-JOURNAL tests: add test that journald keeps fds over termination by signal 2016-11-01 21:20:26 -04:00
TEST-05-RLIMITS test: merge check_nspawn() into run_nspawn() 2016-06-24 16:23:39 +02:00
TEST-06-SELINUX tests: force booting the kernel with SELinux 2016-06-24 11:28:35 +02:00
TEST-07-ISSUE-1981 test: merge check_nspawn() into run_nspawn() 2016-06-24 16:23:39 +02:00
TEST-08-ISSUE-2730 tests: track and check for timeouts 2016-06-24 16:07:16 +02:00
TEST-09-ISSUE-2691 tests: track and check for timeouts 2016-06-24 16:07:16 +02:00
TEST-10-ISSUE-2467 tests: don't fail if QEMU is not available 2016-06-24 11:28:35 +02:00
TEST-11-ISSUE-3166 tests: don't fail if QEMU is not available 2016-06-24 11:28:35 +02:00
TEST-12-ISSUE-3171 test: merge check_nspawn() into run_nspawn() 2016-06-24 16:23:39 +02:00
TEST-13-NSPAWN-SMOKE tests: check that we can write to /run/systemd/nspawn/notify 2017-01-17 08:40:19 +00:00
TEST-14-MACHINE-ID test: check that we can boot with broken machine-id 2016-12-13 13:03:14 +00:00
TEST-15-DROPIN tests: add dropin dependency tests 2017-02-07 21:32:10 -05:00
bus-policy bus-policy: also add in other bus policy tests from dbus1 2014-11-26 20:58:34 +01: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 core: do not add dependencies to self 2014-08-07 20:42:58 -04:00
mocks Add mock fsck process 2015-02-18 16:33:46 +01:00
test-execute core: skip ReadOnlyPaths= and other permission-related mounts on PermissionsStartOnly= (#5309) 2017-02-12 00:44:46 -05: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 update .gitignore 2013-01-28 03:54:49 +01:00
Makefile test: introduce a basic testsuite framework 2012-05-22 16:54:54 +02:00
README.testsuite tests: fix initrd searching on Debian/Ubuntu 2015-11-20 12:10:12 +00:00
a.service test: rename test directory 2011-12-31 18:06:56 +01:00
b.service test: rename test directory 2011-12-31 18:06:56 +01:00
basic.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
c.service test: rename test directory 2011-12-31 18:06:56 +01:00
create-sys-script.py test: add script to convert sys/ into sys-script.py 2017-02-10 15:27:18 -05:00
d.service test: rename test directory 2011-12-31 18:06:56 +01:00
daughter.service cgroups: Cache controller masks and optimize queues. 2013-11-22 11:22:47 +10:00
e.service test: rename test directory 2011-12-31 18:06:56 +01:00
end.service tests: various fixes 2015-11-10 18:01:15 +00:00
f.service test: rename test directory 2011-12-31 18:06:56 +01:00
g.service test: rename test directory 2011-12-31 18:06:56 +01:00
grandchild.service test: add missing test units 2014-02-18 23:55:41 +01:00
h.service test: rename test directory 2011-12-31 18:06:56 +01:00
hello-after-sleep.target test: add test for jobs 2013-01-25 22:29:56 +01:00
hello.service test: add test for jobs 2013-01-25 22:29:56 +01:00
hwdb-test.sh hwdb: improve and test syntax error messages 2016-12-01 11:56:50 -05:00
loopy.service core: do not add dependencies to self 2014-08-07 20:42:58 -04:00
loopy2.service core: do not add dependencies to self 2014-08-07 20:42:58 -04:00
loopy3.service core: warn when merged units have conflicting dependencies 2014-08-07 20:46:49 -04:00
loopy4.service core: warn when merged units have conflicting dependencies 2014-08-07 20:46:49 -04:00
networkd-test.py tests: show journal on systemd-resolved.service failures (#5297) 2017-02-09 21:30:44 -05:00
parent-deep.slice test: add missing test units 2014-02-18 23:55:41 +01:00
parent.slice core: translate between IO and BlockIO settings to ease transition 2016-05-18 17:35:12 -07:00
rule-syntax-check.py python: use raw strings for regexp patterns 2016-12-01 19:11:10 -05:00
sched_idle_bad.service sched: Only setting CPUSchedulingPriority=rr doesn't work 2012-11-15 16:16:45 +01:00
sched_idle_ok.service sched: Only setting CPUSchedulingPriority=rr doesn't work 2012-11-15 16:16:45 +01:00
sched_rr_bad.service sched: Only setting CPUSchedulingPriority=rr doesn't work 2012-11-15 16:16:45 +01:00
sched_rr_change.service sched: Only setting CPUSchedulingPriority=rr doesn't work 2012-11-15 16:16:45 +01:00
sched_rr_ok.service sched: Only setting CPUSchedulingPriority=rr doesn't work 2012-11-15 16:16:45 +01:00
shutdown.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
sleep.service test: add test for jobs 2013-01-25 22:29:56 +01:00
sockets.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
son.service cgroups: Cache controller masks and optimize queues. 2013-11-22 11:22:47 +10:00
splash.bmp sd-boot: add EFI boot manager and stub loader 2015-02-17 14:36:59 +01:00
sys-script.py test: create sys-script.py script 2017-02-10 15:29:23 -05:00
sysinit.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
sysv-generator-test.py python: adjust imports, indentation, unused variables following pylint advice 2016-12-01 18:55:23 -05:00
test-efi-create-disk.sh bootctl: Always use upper case for "/EFI/BOOT" and "/EFI/BOOT/BOOT*.EFI". 2016-07-21 03:02:15 +02:00
test-functions test-functions: also add qemu define for ppc64 2016-11-19 22:45:23 -05:00
testsuite.target test: factor out testsuite.target, end.service 2013-01-25 22:29:56 +01:00
timers.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
udev-test.pl tests: add tests for SYMLINK containing whitespace in variable (#5158) 2017-01-25 20:24:52 -05:00
unstoppable.service tests: fix unstoppable service 2015-11-12 03:24:10 +00:00

README.testsuite

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
$ 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