Systemd/test
Ronny Chevalier 5bc7452b32 core: fix group ownership when Group is set
When Group is set in the unit, the runtime directories are owned by
this group and not the default group of the user (same for cgroup paths
and standard outputs)

Fix #1231
2015-09-21 18:14:44 +02:00
..
TEST-01-BASIC tests: do not use systemctl status --failed 2014-06-10 19:04:18 +02:00
TEST-02-CRYPTSETUP tests: do not use systemctl status --failed 2014-06-10 19:04:18 +02:00
TEST-03-JOBS Use "new" --job-mode= option in more places 2015-05-18 01:08:09 -04:00
bus-policy bus-policy: also add in other bus policy tests from dbus1 2014-11-26 20:58:34 +01: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
.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 remove gudev and gtk-doc 2015-06-03 00:22:53 +02: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
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.in tests: don't hardcode systemctl path 2015-02-03 09:50:45 +01:00
exec-environment-empty.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-environment-multiple.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-environment.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-group.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-ignoresigpipe-no.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-ignoresigpipe-yes.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-personality-x86-64.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-personality-x86.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-privatedevices-no.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-privatedevices-yes.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-privatetmp-no.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-privatetmp-yes.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-runtimedirectory-mode.service test-execute: add tests for RuntimeDirectory 2015-09-21 18:14:44 +02:00
exec-runtimedirectory-owner.service core: fix group ownership when Group is set 2015-09-21 18:14:44 +02:00
exec-runtimedirectory.service test-execute: add tests for RuntimeDirectory 2015-09-21 18:14:44 +02:00
exec-systemcallerrornumber.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-systemcallfilter-failing.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-systemcallfilter-failing2.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-systemcallfilter-not-failing.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-systemcallfilter-not-failing2.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-umask-0177.service test-execute: add tests for UMask directive 2014-12-11 18:32:57 +01:00
exec-umask-default.service test-execute: add tests for UMask directive 2014-12-11 18:32:57 +01:00
exec-user.service tests: add test-execute 2014-11-13 10:39:51 +01:00
exec-workingdirectory.service tests: add test-execute 2014-11-13 10:39:51 +01: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
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
parent-deep.slice test: add missing test units 2014-02-18 23:55:41 +01:00
parent.slice cgroups: Cache controller masks and optimize queues. 2013-11-22 11:22:47 +10:00
path-changed.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-changed.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-directorynotempty.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-directorynotempty.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-exists.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-exists.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-existsglob.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-existsglob.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-makedirectory.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-makedirectory.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-modified.path tests: add test-path 2014-11-08 22:45:56 +01:00
path-modified.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-mycustomunit.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-service.service tests: add test-path 2014-11-08 22:45:56 +01:00
path-unit.path tests: add test-path 2014-11-08 22:45:56 +01:00
paths.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
rule-syntax-check.py udev: remove WAIT_FOR key 2015-06-30 19:57:40 +02: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.tar.xz udev: test - move test/ and src/test/ 2012-04-14 19:36:47 +02:00
sysinit.target test-engine: fix access to unit load path 2014-07-20 19:48:16 -04:00
sysv-generator-test.py sysv-generator test: Fix random ordering failure 2015-07-01 07:34:23 +02:00
test-efi-create-disk.sh boot: efi - remove custom splash support 2015-02-26 19:51:08 +01:00
test-functions remove gudev and gtk-doc 2015-06-03 00:22:53 +02: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 test: udev - Signal that test was skipped when running as non-root 2015-08-30 22:10:30 -07:00
unstoppable.service test: test irreversible jobs 2013-02-23 14:18:17 +01: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 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