1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 06:52:22 +03:00
systemd/test
2019-03-04 15:53:37 +01:00
..
fuzz fuzz-dns-packet: add test case with lots of labels 2019-03-04 15:53:37 +01:00
hwdb
journal-data
loopy.service.d
mocks
TEST-01-BASIC test: drop service masking in TEST-01-BASIC 2019-01-11 13:45:08 +01:00
TEST-02-CRYPTSETUP test: mask several unnecessary services 2018-11-03 18:00:47 +09:00
TEST-03-JOBS test: mask several unnecessary services 2018-11-03 18:00:47 +09:00
TEST-04-JOURNAL test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-05-RLIMITS test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-06-SELINUX test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-07-ISSUE-1981 test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-08-ISSUE-2730 test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-09-ISSUE-2691 test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-10-ISSUE-2467 test: replace echo with socat 2019-02-12 19:45:50 +03:00
TEST-11-ISSUE-3166 test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-12-ISSUE-3171 test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-13-NSPAWN-SMOKE tests: explicitly enable user namespaces for TEST-13-NSPAWN-SMOKE 2018-12-21 05:19:37 +09:00
TEST-14-MACHINE-ID test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09:00
TEST-15-DROPIN test: drop 'After=multi-user.target' from most of testsuite.service 2018-11-03 18:00:47 +09: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: increase timeout for TEST-17-UDEV-WANTS 2018-11-03 18:00:47 +09:00
TEST-18-FAILUREACTION test: mask several unnecessary services 2018-11-03 18:00:47 +09:00
TEST-19-DELEGATE cgroup: s/cgroups? ?v?([0-9])/cgroup v\1/gI 2019-01-03 11:32:40 +09:00
TEST-20-MAINPIDGAMES test: mask several unnecessary services 2018-11-03 18:00:47 +09:00
TEST-21-SYSUSERS test: do not use global variable to pass error 2018-10-09 19:11:21 +09:00
TEST-22-TMPFILES TEST-22: add test for unprivileged dirs in root prefixes 2019-02-28 13:06:07 -05:00
TEST-23-TYPE-EXEC test: mask several unnecessary services 2018-11-03 18:00:47 +09:00
TEST-24-UNIT-TESTS test: add TEST-24-UNIT-TESTS running all basic tests under containers 2018-10-09 19:11:21 +09:00
TEST-25-IMPORT test: add simple test for importd 2018-11-26 18:09:01 +01:00
TEST-26-SETENV test: add test for setting service manager environment variables 2018-11-27 14:25:17 +09:00
TEST-27-STDOUTFILE test: make TEST-27 non-racy 2018-11-28 13:05:54 +09:00
TEST-28-PERCENTJ-WANTEDBY core: support %j in unit dependency resolution 2018-12-22 17:21:13 +09:00
test-execute core: add ':' prefix to ExecXYZ= skip env var substitution 2019-02-20 17:58:14 +01:00
test-network test-network: add tests for address pool 2019-03-01 16:34:55 +09:00
test-path
test-resolve
test-umount test-umount: add a simple test for swap_list_get() 2018-03-16 10:12:50 +01:00
unit-.service.d test: add test for prefix unit loading 2018-04-13 11:34:48 +02:00
unit-with-.service.d test: add test for prefix unit loading 2018-04-13 11:34:48 +02:00
unit-with-multiple-.service.d test: add test for prefix unit loading 2018-04-13 11:34:48 +02:00
unit-with-multiple-dashes.service.d test: add test for prefix unit loading 2018-04-13 11:34:48 +02:00
.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 cgroup v2: Don't require CPU controller for CPU accounting in 4.15+ 2018-11-18 12:21:41 +00:00
e.service
end.service
f.service
g.service
grandchild.service
h.service
hello-after-sleep.target
hello.service
hwdb-test.sh tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
loopy2.service
loopy3.service
loopy4.service
loopy.service
meson.build core: add ':' prefix to ExecXYZ= skip env var substitution 2019-02-20 17:58:14 +01:00
mkosi.build.networkd-test networkd-test: add mkosi snippet for building and running networkd-tets.py in a network namespaced container 2018-12-07 12:25:24 +01:00
mkosi.default.networkd-test networkd-test: add mkosi snippet for building and running networkd-tets.py in a network namespaced container 2018-12-07 12:25:24 +01:00
mkosi.nspawn.networkd-test networkd-test: add mkosi snippet for building and running networkd-tets.py in a network namespaced container 2018-12-07 12:25:24 +01:00
networkd-test.py networkd-test: ignore failures of test_route_only_dns* in containers 2019-02-27 23:15:31 +01:00
nomem.slice cgroup: Add DisableControllers= directive to disable controller in subtree 2018-12-03 15:40:31 +00:00
nomemleaf.service cgroup: Add DisableControllers= directive to disable controller in subtree 2018-12-03 15:40:31 +00:00
parent-deep.slice
parent.slice
README.testsuite README.testsuite: update the documentation for meson 2018-10-09 15:31:00 +02:00
rule-syntax-check.py rule-syntax-check: allow PROGRAM as an assignment 2019-02-10 19:06:58 +01:00
run-integration-tests.sh tests: clean up again after running tests (#10446) 2018-10-19 03:59:24 +09:00
run-unit-tests.py run-unit-tests: add option to run unsafe tests too 2018-09-24 15:42:50 +02: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
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 test: (ArchLinux) Replace initramfs-linux.img with initramfs-linux-fallback.img. 2019-02-02 12:45:51 +01:00
testsuite.target
timers.target
udev-test.pl test-udev: fix alignment and drop unnecessary white spaces 2019-02-22 06:50:21 +09:00
unit-with-multiple-dashes.service test: add test for prefix unit loading 2018-04-13 11:34:48 +02:00
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:

$ ninja -C build  # Avoid building anything as root later
$ sudo test/run-integration-tests.sh
ninja: Entering directory `/home/zbyszek/src/systemd/build'
ninja: no work to do.
--x-- Running TEST-01-BASIC --x--
+ make -C TEST-01-BASIC BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run
make: Entering directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC'
TEST CLEANUP: Basic systemd setup
TEST SETUP: Basic systemd setup
...
TEST RUN: Basic systemd setup [OK]
make: Leaving directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC'
--x-- Result of TEST-01-BASIC: 0 --x--
--x-- Running TEST-02-CRYPTSETUP --x--
+ make -C TEST-02-CRYPTSETUP BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run

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

To run just one of the cases:

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

Specifying the build directory
==============================

If the build directory is not detected automatically, it can be specified
with BUILD_DIR=:

$ sudo BUILD_DIR=some-other-build/ test/run-integration-tests

or

$ sudo make -C test/TEST-01-BASIC BUILD_DIR=../../some-other-build/ ...

Note that in the second case, the path is relative to the test case directory.
An absolute path may also be used in both cases.

Configuration variables
=======================

TEST_NO_QEMU=1 can be used to disable qemu tests.

TEST_NO_NSPAWN=1 can be used to disable nspawn tests.

KERNEL_APPEND='...' can be used to add additional kernel parameters for the QEMU runs.

The kernel and initramfs can be specified with $KERNEL_BIN and $INITRD.
(Fedora's or Debian's default kernel path and initramfs are used by default)

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

Debugging the qemu image
========================

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

$ sudo make -C test/TEST-01-BASIC KERNEL_APPEND="systemd.unit=multi-user.target" run

Root password is empty.