systemd/test
Tom Gundersen e7dd673d1e gummiboot/sd-boot/systemd-boot: rename galore
What used to be gummiboot, was renamed sd-boot when it was merged into
systemd. Let's try to be a bit more consistent with the rest of systemd
and rename it again as follows:

The EFI bootloader is now called 'systemd-bootx64.efi', and its sources are in
'src/boot/efi/'. The drop-in directory where bootctl will find EFI loaders
is now /usr/lib/systemd/boot/efi/.
2015-02-18 15:23:23 +01: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
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 test: add test for crash when adding a JOB_NOP 2014-11-26 16:33:40 +01:00
.gitignore update .gitignore 2013-01-28 03:54:49 +01: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-systemcallerrornumber.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-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-systemcallfilter-not-failing.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
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
loopy.service core: do not add dependencies to self 2014-08-07 20:42:58 -04:00
Makefile test: introduce a basic testsuite framework 2012-05-22 16:54:54 +02: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
README.testsuite test: rework run_qemu 2013-12-10 07:46:21 -05:00
rule-syntax-check.py test: simplify rules-test.sh wrapper 2015-01-20 20:52:25 +01: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: Skip init scripts for existing native services 2015-02-11 13:02:01 +01:00
test-efi-create-disk.sh gummiboot/sd-boot/systemd-boot: rename galore 2015-02-18 15:23:23 +01:00
test-functions test-functions: search for the initrd and kernel according to the BLS 2015-02-03 10:51:29 +01: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: udev - assume /etc/machine-id rather than /etc/hosts 2014-12-11 14:17:35 +01:00
unstoppable.service test: test irreversible jobs 2013-02-23 14:18:17 +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:

$ 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
Making all in docs/libudev
Making all in docs/gudev
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