1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 17:51:22 +03:00
systemd/test
Zbigniew Jędrzejewski-Szmek 8d89e51f3c fuzz: commit test case for oss-fuzz issue 6884
This seems to be a false positive in msan:
https://github.com/google/sanitizers/issues/767.

I don't see anything wrong with the code either, and valgrind does not see the
issue. Anyway, let's add the test case.

We don't have msan hooked up yet, but hopefully we'll in the future.

oss-fuzz #6884.
2018-03-14 15:20:02 +01:00
..
fuzz-corpus fuzz-unit-file: add a dump of systemd.directives(7) as a corpus entry 2018-03-11 16:33:59 +01:00
fuzz-regressions fuzz: commit test case for oss-fuzz issue 6884 2018-03-14 15:20:02 +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
mocks Add mock fsck process 2015-02-18 16:33:46 +01:00
TEST-01-BASIC test: make sure "make" in the test directories works again 2017-12-15 19:48:08 +01:00
TEST-02-CRYPTSETUP test: switch to using ext4 instead of ext3 as default fallback fs (#7265) 2017-11-07 17:51:30 +03:00
TEST-03-JOBS test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-04-JOURNAL journalctl: add --output-fields= (#7181) 2017-10-27 12:10:47 +09:00
TEST-05-RLIMITS test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-06-SELINUX test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-07-ISSUE-1981 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-08-ISSUE-2730 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-09-ISSUE-2691 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-10-ISSUE-2467 tests: don't use "netcat" for testing TEST-10-ISSUE-2467 2017-12-05 13:49:13 +01:00
TEST-11-ISSUE-3166 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-12-ISSUE-3171 test: Run qemu/nspawn tests with "set -e" 2017-08-10 08:43:13 +02:00
TEST-13-NSPAWN-SMOKE test: fix TEST-13-NSPAWN-SMOKE 2017-12-15 20:51:55 +01:00
TEST-14-MACHINE-ID tests: fix description of TEST-14-MACHINE-ID 2017-11-29 12:34:12 +01:00
TEST-15-DROPIN test: masked unit with drop-ins 2018-03-01 21:14:13 -08:00
TEST-16-EXTEND-TIMEOUT core: add EXTEND_TIMEOUT_USEC={usec} - prevent timeouts in startup/runtime/shutdown (#7214) 2017-12-14 12:17:43 +01:00
TEST-17-UDEV-WANTS test: make sure "make" in the test directories works again 2017-12-15 19:48:08 +01:00
TEST-18-FAILUREACTION test: make sure "make" in the test directories works again 2017-12-15 19:48:08 +01:00
TEST-19-DELEGATE test: make sure "make" in the test directories works again 2017-12-15 19:48:08 +01:00
TEST-20-MAINPIDGAMES core: be stricter when handling PID files and MAINPID sd_notify() messages 2018-01-11 15:12:16 +01:00
TEST-21-SYSUSERS sysusers: support u username -:300 style syntax (#8325) 2018-03-02 12:56:44 +01:00
TEST-22-TMPFILES test: add tests for systemd-tmpfiles 2018-03-05 21:49:11 +01:00
test-execute test-execute: use CAP_CHOWN instead of CAP_NET_ADMIN 2018-03-05 00:02:22 +09: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
a.service
b.service
basic.target
c.service
create-sys-script.py Add SPDX license headers to python scripts 2017-11-19 19:08:15 +01:00
d.service
daughter.service
e.service
end.service tests: various fixes 2015-11-10 18:01:15 +00:00
f.service
g.service
grandchild.service
h.service
hello-after-sleep.target
hello.service
hwdb-test.sh test: set log_level to info in test-hwdb and check-help-* 2017-11-26 00:01:55 +09:00
loopy2.service
loopy3.service
loopy4.service
loopy.service
meson.build test-execute: rename tests for AmbientCapabilities= 2018-03-04 16:37:58 +09:00
networkd-test.py test: sort imports and use "new" string formatting 2018-02-05 07:28:53 +01:00
parent-deep.slice
parent.slice core: translate between IO and BlockIO settings to ease transition 2016-05-18 17:35:12 -07:00
README.testsuite test: explain why we explicitly make all despite test/Makefile's check target calling it (#5830) 2017-04-29 08:23:13 +02:00
rule-syntax-check.py rule-syntax-check: fix handling of runaway strings in comma splitting (#8298) 2018-02-28 03:11:38 +03:00
run-integration-tests.sh run-integration-test: allow argument to be overriden 2017-12-06 15:16:55 +01: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 sd-boot: add EFI boot manager and stub loader 2015-02-17 14:36:59 +01:00
sys-script.py Add SPDX license headers to python scripts 2017-11-19 19:08:15 +01:00
sysinit.target
sysv-generator-test.py test: sort imports and use "new" string formatting 2018-02-05 07:28:53 +01:00
test-efi-create-disk.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
test-exec-deserialization.py Add SPDX license headers to python scripts 2017-11-19 19:08:15 +01:00
test-functions test: fix setup_suse() to make it work with an already populated root 2018-03-05 19:24:23 +01:00
testsuite.target
timers.target
udev-test.pl tests: stop using nobody in test-udev.pl (#8239) 2018-02-21 08:34:42 +01:00
unstoppable.service tests: fix unstoppable service 2015-11-12 03:24:10 +00: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  # 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