Systemd/test
Zsolt Dollenstein 566b7d23eb Add support for opening files for appending
Addresses part of #8983
2018-07-20 03:54:22 -07:00
..
fuzz-corpus journal-remote: when an entry is rejected with -EBADMSG, do not rotate the journal file 2018-05-31 13:04:18 +02:00
fuzz-regressions Drop my copyright headers 2018-06-14 13:03:20 +02:00
hwdb
journal-data
loopy.service.d
mocks
TEST-01-BASIC
TEST-02-CRYPTSETUP
TEST-03-JOBS test: make sure output of test TEST-03 test service ends up on console 2018-06-06 11:24:34 +02:00
TEST-04-JOURNAL
TEST-05-RLIMITS
TEST-06-SELINUX tests: tighten check for TEST-06-SELINUX dependencies a bit 2018-06-06 10:17:38 +02:00
TEST-07-ISSUE-1981
TEST-08-ISSUE-2730 test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-09-ISSUE-2691 test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-10-ISSUE-2467 test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-11-ISSUE-3166 test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-12-ISSUE-3171
TEST-13-NSPAWN-SMOKE test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-14-MACHINE-ID test: Drop SKIP_INITRD for QEMU-based tests 2018-07-16 11:31:24 +02:00
TEST-15-DROPIN test: don't send image building output to /dev/null (#8886) 2018-05-03 16:47:42 +03:00
TEST-16-EXTEND-TIMEOUT test: disable QEMU based testing for TEST-16-EXTEND-TIMEOUT 2018-06-06 11:24:09 +02:00
TEST-17-UDEV-WANTS
TEST-18-FAILUREACTION
TEST-19-DELEGATE test: Fix typo in TEST-19-DELEGATE 2018-07-15 21:13:56 +02:00
TEST-20-MAINPIDGAMES
TEST-21-SYSUSERS
TEST-22-TMPFILES test: don't send image building output to /dev/null (#8886) 2018-05-03 16:47:42 +03:00
test-execute Add support for opening files for appending 2018-07-20 03:54:22 -07:00
test-path
test-resolve
test-umount
unit-.service.d
unit-with-.service.d
unit-with-multiple-.service.d
unit-with-multiple-dashes.service.d
.gitignore
a.service
b.service
basic.target
c.service
create-sys-script.py tree-wide: use proper unicode © instead of (C) where we can 2018-06-14 10:20:20 +02:00
d.service
daughter.service
e.service
end.service
f.service
g.service
grandchild.service
h.service
hello-after-sleep.target
hello.service
hwdb-test.sh
loopy.service
loopy2.service
loopy3.service
loopy4.service
meson.build Add support for opening files for appending 2018-07-20 03:54:22 -07:00
networkd-test.py test: Fix networkd test for an already running service 2018-07-09 16:44:03 +02:00
parent-deep.slice
parent.slice
README.testsuite
rule-syntax-check.py tree-wide: use proper unicode © instead of (C) where we can 2018-06-14 10:20:20 +02:00
run-integration-tests.sh
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
sys-script.py tree-wide: use proper unicode © instead of (C) where we can 2018-06-14 10:20:20 +02:00
sysinit.target
sysv-generator-test.py tree-wide: use proper unicode © instead of (C) where we can 2018-06-14 10:20:20 +02:00
test-efi-create-disk.sh
test-exec-deserialization.py tree-wide: beautify remaining copyright statements 2018-06-14 10:20:21 +02:00
test-functions tests: allow passing additional arguments to nspawn via NSPAWN_ARGUMENTS 2018-07-18 09:56:23 +09:00
testsuite.target
timers.target
udev-test.pl tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
unit-with-multiple-dashes.service
unstoppable.service

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