2017-11-18 18:32:01 +01:00
|
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
|
|
|
2017-04-07 06:19:09 +02:00
|
|
|
awkscript = 'test-hashmap-ordered.awk'
|
|
|
|
test_hashmap_ordered_c = custom_target(
|
2017-04-18 01:25:00 +02:00
|
|
|
'test-hashmap-ordered.c',
|
|
|
|
input : [awkscript, 'test-hashmap-plain.c'],
|
|
|
|
output : 'test-hashmap-ordered.c',
|
|
|
|
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
|
|
|
capture : true)
|
2017-04-07 06:19:09 +02:00
|
|
|
|
|
|
|
test_include_dir = include_directories('.')
|
|
|
|
|
|
|
|
path = run_command('sh', ['-c', 'echo "$PATH"']).stdout()
|
|
|
|
test_env = environment()
|
|
|
|
test_env.set('SYSTEMD_KBD_MODEL_MAP', kbd_model_map)
|
|
|
|
test_env.set('SYSTEMD_LANGUAGE_FALLBACK_MAP', language_fallback_map)
|
|
|
|
test_env.set('PATH', path)
|
|
|
|
test_env.prepend('PATH', meson.build_root())
|
|
|
|
|
2017-04-10 20:13:40 +02:00
|
|
|
############################################################
|
|
|
|
|
|
|
|
generate_sym_test_py = find_program('generate-sym-test.py')
|
|
|
|
|
|
|
|
test_libsystemd_sym_c = custom_target(
|
2017-04-18 01:25:00 +02:00
|
|
|
'test-libsystemd-sym.c',
|
|
|
|
input : [libsystemd_sym_path] + systemd_headers,
|
|
|
|
output : 'test-libsystemd-sym.c',
|
|
|
|
command : [generate_sym_test_py, libsystemd_sym_path] + systemd_headers,
|
|
|
|
capture : true)
|
2017-04-10 20:13:40 +02:00
|
|
|
|
2017-04-10 21:20:42 +02:00
|
|
|
test_libudev_sym_c = custom_target(
|
2017-04-18 01:25:00 +02:00
|
|
|
'test-libudev-sym.c',
|
|
|
|
input : [libudev_sym_path, libudev_h_path],
|
|
|
|
output : 'test-libudev-sym.c',
|
|
|
|
command : [generate_sym_test_py, '@INPUT0@', '@INPUT1@'],
|
|
|
|
capture : true)
|
2017-04-10 21:20:42 +02:00
|
|
|
|
2017-04-15 02:10:28 +02:00
|
|
|
test_dlopen_c = files('test-dlopen.c')
|
|
|
|
|
2017-04-10 20:13:40 +02:00
|
|
|
############################################################
|
|
|
|
|
2017-11-22 14:13:32 +01:00
|
|
|
test_systemd_tmpfiles_py = find_program('test-systemd-tmpfiles.py')
|
|
|
|
|
|
|
|
############################################################
|
|
|
|
|
2017-04-07 06:19:09 +02:00
|
|
|
tests += [
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-device-nodes.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-engine.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
|
|
|
libudev,
|
2017-12-19 20:54:46 +01:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-job-type.c'],
|
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-ns.c'],
|
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid],
|
2017-04-25 01:28:05 +02:00
|
|
|
'', 'manual'],
|
2017-04-18 01:25:00 +02:00
|
|
|
|
|
|
|
[['src/test/test-loopback.c'],
|
|
|
|
[libcore,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-hostname.c'],
|
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid],
|
|
|
|
'', 'unsafe'],
|
|
|
|
|
|
|
|
[['src/test/test-dns-domain.c'],
|
|
|
|
[libcore,
|
2017-12-19 14:19:46 +01:00
|
|
|
libshared,
|
2017-04-18 01:25:00 +02:00
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-boot-timestamps.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'ENABLE_EFI'],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-unit-name.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-unit-file.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-utf8.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-capability.c'],
|
|
|
|
[],
|
|
|
|
[libcap]],
|
|
|
|
|
|
|
|
[['src/test/test-async.c'],
|
|
|
|
[],
|
2017-12-05 08:21:16 +01:00
|
|
|
[],
|
|
|
|
'', 'timeout=120'],
|
2017-04-18 01:25:00 +02:00
|
|
|
|
|
|
|
[['src/test/test-locale-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-copy.c'],
|
2017-12-19 14:19:46 +01:00
|
|
|
[],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-sigbus.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-condition.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-fdset.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-fstab-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-06-26 00:01:02 +02:00
|
|
|
[['src/test/test-random-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2018-04-11 20:03:39 +02:00
|
|
|
[['src/test/test-format-table.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-ratelimit.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-mount-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-exec-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-hexdecoct.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-alloc-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-xattr-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-io-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-glob-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-fs-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-proc-cmdline.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-fd-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-web-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-cpu-set-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-stat-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2018-03-26 16:32:40 +02:00
|
|
|
[['src/test/test-os-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-escape.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-11-21 17:52:31 +01:00
|
|
|
[['src/test/test-specifier.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-string-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-extract-word.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-parse-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-user-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-hostname-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-process-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-terminal-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-path-lookup.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-uid-range.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-cap-list.c',
|
|
|
|
generated_gperf_headers],
|
|
|
|
[],
|
|
|
|
[libcap]],
|
|
|
|
|
|
|
|
[['src/test/test-socket-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-09-01 14:25:59 +02:00
|
|
|
[['src/test/test-in-addr-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-barrier.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-tmpfiles.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-namespace.c'],
|
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-verbs.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-install-root.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-acl-util.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'HAVE_ACL'],
|
|
|
|
|
|
|
|
[['src/test/test-seccomp.c'],
|
|
|
|
[],
|
|
|
|
[libseccomp],
|
|
|
|
'HAVE_SECCOMP'],
|
|
|
|
|
|
|
|
[['src/test/test-rlimit-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-ask-password-api.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/test/test-dissect-image.c'],
|
|
|
|
[],
|
|
|
|
[libblkid],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/test/test-signal-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-selinux.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-sizeof.c'],
|
|
|
|
[libbasic],
|
|
|
|
[]],
|
|
|
|
|
2016-11-03 17:31:25 +01:00
|
|
|
[['src/test/test-bpf.c',
|
|
|
|
'src/test/test-helper.c'],
|
|
|
|
[libcore,
|
|
|
|
libshared],
|
|
|
|
[libmount,
|
|
|
|
threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libblkid]],
|
|
|
|
|
core: rework how we track which PIDs to watch for a unit
Previously, we'd maintain two hashmaps keyed by PIDs, pointing to Unit
interested in SIGCHLD events for them. This scheme allowed a specific
PID to be watched by exactly 0, 1 or 2 units.
With this rework this is replaced by a single hashmap which is primarily
keyed by the PID and points to a Unit interested in it. However, it
optionally also keyed by the negated PID, in which case it points to a
NULL terminated array of additional Unit objects also interested. This
scheme means arbitrary numbers of Units may now watch the same PID.
Runtime and memory behaviour should not be impact by this change, as for
the common case (i.e. each PID only watched by a single unit) behaviour
stays the same, but for the uncommon case (a PID watched by more than
one unit) we only pay with a single additional memory allocation for the
array.
Why this all? Primarily, because allowing exactly two units to watch a
specific PID is not sufficient for some niche cases, as processes can
belong to more than one unit these days:
1. sd_notify() with MAINPID= can be used to attach a process from a
different cgroup to multiple units.
2. Similar, the PIDFile= setting in unit files can be used for similar
setups,
3. By creating a scope unit a main process of a service may join a
different unit, too.
4. On cgroupsv1 we frequently end up watching all processes remaining in
a scope, and if a process opens lots of scopes one after the other it
might thus end up being watch by many of them.
This patch hence removes the 2-unit-per-PID limit. It also makes a
couple of other changes, some of them quite relevant:
- manager_get_unit_by_pid() (and the bus call wrapping it) when there's
ambiguity will prefer returning the Unit the process belongs to based on
cgroup membership, and only check the watch-pids hashmap if that
fails. This change in logic is probably more in line with what people
expect and makes things more stable as each process can belong to
exactly one cgroup only.
- Every SIGCHLD event is now dispatched to all units interested in its
PID. Previously, there was some magic conditionalization: the SIGCHLD
would only be dispatched to the unit if it was only interested in a
single PID only, or the PID belonged to the control or main PID or we
didn't dispatch a signle SIGCHLD to the unit in the current event loop
iteration yet. These rules were quite arbitrary and also redundant as
the the per-unit handlers would filter the PIDs anyway a second time.
With this change we'll hence relax the rules: all we do now is
dispatch every SIGCHLD event exactly once to each unit interested in
it, and it's up to the unit to then use or ignore this. We use a
generation counter in the unit to ensure that we only invoke the unit
handler once for each event, protecting us from confusion if a unit is
both associated with a specific PID through cgroup membership and
through the "watch_pids" logic. It also protects us from being
confused if the "watch_pids" hashmap is altered while we are
dispatching to it (which is a very likely case).
- sd_notify() message dispatching has been reworked to be very similar
to SIGCHLD handling now. A generation counter is used for dispatching
as well.
This also adds a new test that validates that "watch_pid" registration
and unregstration works correctly.
2018-01-12 13:41:05 +01:00
|
|
|
[['src/test/test-watch-pid.c',
|
|
|
|
'src/test/test-helper.c'],
|
|
|
|
[libcore,
|
|
|
|
libshared],
|
|
|
|
[libmount,
|
|
|
|
threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libblkid]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-hashmap.c',
|
|
|
|
'src/test/test-hashmap-plain.c',
|
|
|
|
test_hashmap_ordered_c],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'timeout=90'],
|
|
|
|
|
|
|
|
[['src/test/test-set.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-bitmap.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-xml.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-list.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2018-01-17 18:40:10 +01:00
|
|
|
[['src/test/test-procfs-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-unaligned.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-tables.c',
|
|
|
|
'src/shared/test-tables.h',
|
|
|
|
'src/journal/journald-server.c',
|
|
|
|
'src/journal/journald-server.h'],
|
|
|
|
[libcore,
|
|
|
|
libjournal_core,
|
|
|
|
libudev_core,
|
2017-12-19 20:54:46 +01:00
|
|
|
libudev_static,
|
2017-04-18 01:25:00 +02:00
|
|
|
libsystemd_network,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libseccomp,
|
|
|
|
libmount,
|
|
|
|
libxz,
|
|
|
|
liblz4,
|
|
|
|
libblkid],
|
|
|
|
'', '', [], libudev_core_includes],
|
|
|
|
|
|
|
|
[['src/test/test-prioq.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-fileio.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-10-18 11:27:23 +02:00
|
|
|
[['src/test/test-time-util.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-clock.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-architecture.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-log.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-ipcrm.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'unsafe'],
|
|
|
|
|
|
|
|
[['src/test/test-btrfs.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
|
|
|
|
[['src/test/test-firewall-util.c'],
|
2017-04-26 22:14:23 +02:00
|
|
|
[libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[],
|
|
|
|
'HAVE_LIBIPTC'],
|
|
|
|
|
|
|
|
[['src/test/test-netlink-manual.c'],
|
|
|
|
[],
|
|
|
|
[libkmod],
|
|
|
|
'HAVE_KMOD', 'manual'],
|
|
|
|
|
|
|
|
[['src/test/test-ellipsize.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-date.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-sleep.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-replace-var.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-calendarspec.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-strip-tab-ansi.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-daemon.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-cgroup.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-cgroup-mask.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-cgroup-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-env-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-strbuf.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-strv.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-path-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-path.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-execute.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
2018-04-11 16:50:48 +02:00
|
|
|
libblkid],
|
|
|
|
'', 'timeout=360'],
|
2017-04-18 01:25:00 +02:00
|
|
|
|
|
|
|
[['src/test/test-siphash24.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-strxcpyx.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-install.c'],
|
|
|
|
[libcore,
|
|
|
|
libshared],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/test/test-watchdog.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
tests: when running a manager object in a test, migrate to private cgroup subroot first (#6576)
Without this "meson test" will end up running all tests in the same
cgroup root, and they all will try to manage it. Which usually isn't too
bad, except when they end up clearing up each other's cgroups. This race
is hard to trigger but has caused various CI runs to fail spuriously.
With this change we simply move every test that runs a manager object
into their own private cgroup. Note that we don't clean up the cgroup at
the end, we leave that to the cgroup manager around it.
This fixes races that become visible by test runs throwing out errors
like this:
```
exec-systemcallfilter-failing.service: Passing 0 fds to service
exec-systemcallfilter-failing.service: About to execute: /bin/echo 'This should not be seen'
exec-systemcallfilter-failing.service: Forked /bin/echo as 5693
exec-systemcallfilter-failing.service: Changed dead -> start
exec-systemcallfilter-failing.service: Failed to attach to cgroup /exec-systemcallfilter-failing.service: No such file or directory
Received SIGCHLD from PID 5693 ((echo)).
Child 5693 ((echo)) died (code=exited, status=219/CGROUP)
exec-systemcallfilter-failing.service: Child 5693 belongs to exec-systemcallfilter-failing.service
exec-systemcallfilter-failing.service: Main process exited, code=exited, status=219/CGROUP
exec-systemcallfilter-failing.service: Changed start -> failed
exec-systemcallfilter-failing.service: Unit entered failed state.
exec-systemcallfilter-failing.service: Failed with result 'exit-code'.
exec-systemcallfilter-failing.service: cgroup is empty
Assertion 'service->main_exec_status.status == status_expected' failed at ../src/src/test/test-execute.c:71, function check(). Aborting.
```
BTW, I tracked this race down by using perf:
```
# perf record -e cgroup:cgroup_mkdir,cgroup_rmdir
…
# perf script
```
Thanks a lot @iaguis, @alban for helping me how to use perf for this.
Fixes #5895.
2017-08-09 15:42:49 +02:00
|
|
|
[['src/test/test-sched-prio.c',
|
|
|
|
'src/test/test-helper.c'],
|
2017-04-18 01:25:00 +02:00
|
|
|
[libcore,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libseccomp,
|
|
|
|
libselinux,
|
|
|
|
libmount,
|
|
|
|
libblkid]],
|
|
|
|
|
|
|
|
[['src/test/test-conf-files.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-conf-parser.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-af-list.c',
|
|
|
|
generated_gperf_headers],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-arphrd-list.c',
|
|
|
|
generated_gperf_headers],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-journal-importer.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-libudev.c'],
|
2017-04-25 20:19:54 +02:00
|
|
|
[libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-udev.c'],
|
|
|
|
[libudev_core,
|
2017-12-19 20:54:46 +01:00
|
|
|
libudev_static,
|
2017-04-18 01:25:00 +02:00
|
|
|
libsystemd_network,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
librt,
|
|
|
|
libblkid,
|
|
|
|
libkmod,
|
|
|
|
libacl],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/test/test-id128.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/test/test-hash.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2018-02-05 09:48:38 +01:00
|
|
|
[['src/test/test-gcrypt-util.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'HAVE_GCRYPT'],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/test/test-nss.c'],
|
|
|
|
[],
|
|
|
|
[libdl],
|
|
|
|
'', 'manual'],
|
2018-03-14 11:03:36 +01:00
|
|
|
|
|
|
|
[['src/test/test-umount.c',
|
|
|
|
'src/core/mount-setup.c',
|
|
|
|
'src/core/mount-setup.h',
|
|
|
|
'src/core/umount.c',
|
|
|
|
'src/core/umount.h'],
|
|
|
|
[],
|
|
|
|
[libmount]],
|
2018-06-04 15:15:17 +02:00
|
|
|
|
|
|
|
[['src/test/test-bus-util.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
2017-04-18 01:25:00 +02:00
|
|
|
]
|
2017-04-07 06:19:09 +02:00
|
|
|
|
|
|
|
############################################################
|
|
|
|
|
|
|
|
# define some tests here, because the link_with deps were not defined earlier
|
|
|
|
|
|
|
|
tests += [
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/journal/test-journal.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-send.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-syslog.c'],
|
|
|
|
[libjournal_core,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4,
|
|
|
|
libselinux]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-match.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-enum.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
2017-11-26 13:18:45 +01:00
|
|
|
liblz4],
|
|
|
|
'', 'timeout=360'],
|
2017-04-18 01:25:00 +02:00
|
|
|
|
|
|
|
[['src/journal/test-journal-stream.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-flush.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-init.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
2018-02-27 18:37:23 +01:00
|
|
|
[['src/journal/test-journal-config.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[libxz,
|
|
|
|
liblz4,
|
|
|
|
libselinux]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/journal/test-journal-verify.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-journal-interleaving.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-mmap-cache.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4]],
|
|
|
|
|
|
|
|
[['src/journal/test-catalog.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[threads,
|
|
|
|
libxz,
|
|
|
|
liblz4],
|
|
|
|
'', '', '-DCATALOG_DIR="@0@"'.format(build_catalog_dir)],
|
|
|
|
|
|
|
|
[['src/journal/test-compress.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[liblz4,
|
|
|
|
libxz]],
|
|
|
|
|
|
|
|
[['src/journal/test-compress-benchmark.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[liblz4,
|
|
|
|
libxz],
|
|
|
|
'', 'timeout=90'],
|
|
|
|
|
|
|
|
[['src/journal/test-audit-type.c'],
|
|
|
|
[libjournal_core,
|
|
|
|
libshared],
|
|
|
|
[liblz4,
|
|
|
|
libxz]],
|
|
|
|
]
|
2017-04-09 20:08:53 +02:00
|
|
|
|
|
|
|
############################################################
|
|
|
|
|
|
|
|
tests += [
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd/sd-bus/test-bus-marshal.c'],
|
|
|
|
[],
|
|
|
|
[threads,
|
|
|
|
libglib,
|
|
|
|
libgobject,
|
|
|
|
libgio,
|
|
|
|
libdbus]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-signature.c'],
|
|
|
|
[],
|
|
|
|
[threads]],
|
|
|
|
|
2017-12-15 22:24:52 +01:00
|
|
|
[['src/libsystemd/sd-bus/test-bus-watch-bind.c'],
|
|
|
|
[],
|
|
|
|
[threads], '', 'timeout=120'],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd/sd-bus/test-bus-chat.c'],
|
|
|
|
[],
|
|
|
|
[threads]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-cleanup.c'],
|
|
|
|
[],
|
|
|
|
[threads,
|
|
|
|
libseccomp]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-error.c'],
|
|
|
|
[libshared_static,
|
2017-12-19 11:35:01 +01:00
|
|
|
libsystemd_static],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-track.c'],
|
|
|
|
[],
|
|
|
|
[libseccomp]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-server.c'],
|
|
|
|
[],
|
|
|
|
[threads]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-objects.c'],
|
|
|
|
[],
|
|
|
|
[threads]],
|
|
|
|
|
2017-05-13 19:23:28 +02:00
|
|
|
[['src/libsystemd/sd-bus/test-bus-vtable.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd/sd-bus/test-bus-gvariant.c'],
|
|
|
|
[],
|
|
|
|
[libglib,
|
|
|
|
libgobject,
|
|
|
|
libgio]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-creds.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-match.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-benchmark.c'],
|
|
|
|
[],
|
2017-07-23 17:45:57 +02:00
|
|
|
[threads],
|
|
|
|
'', 'manual'],
|
2017-04-18 01:25:00 +02:00
|
|
|
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-introspect.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-event/test-event.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-netlink/test-netlink.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-netlink/test-local-addresses.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-resolve/test-resolve.c'],
|
|
|
|
[],
|
|
|
|
[threads]],
|
|
|
|
|
|
|
|
[['src/libsystemd/sd-login/test-login.c'],
|
|
|
|
[],
|
2017-05-12 20:25:17 +02:00
|
|
|
[]],
|
2017-04-10 23:11:10 +02:00
|
|
|
]
|
2017-04-07 06:19:09 +02:00
|
|
|
|
2017-05-13 19:23:28 +02:00
|
|
|
if cxx.found()
|
|
|
|
tests += [
|
|
|
|
[['src/libsystemd/sd-bus/test-bus-vtable-cc.cc'],
|
|
|
|
[],
|
|
|
|
[]]
|
|
|
|
]
|
|
|
|
endif
|
|
|
|
|
2017-04-07 06:19:09 +02:00
|
|
|
############################################################
|
|
|
|
|
|
|
|
tests += [
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd-network/test-dhcp-option.c',
|
|
|
|
'src/libsystemd-network/dhcp-protocol.h',
|
|
|
|
'src/libsystemd-network/dhcp-internal.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
2017-05-13 16:19:32 +02:00
|
|
|
[['src/libsystemd-network/test-sd-dhcp-lease.c',
|
|
|
|
'src/libsystemd-network/dhcp-lease-internal.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd-network/test-dhcp-client.c',
|
|
|
|
'src/libsystemd-network/dhcp-protocol.h',
|
|
|
|
'src/libsystemd-network/dhcp-internal.h',
|
|
|
|
'src/systemd/sd-dhcp-client.h'],
|
|
|
|
[libshared,
|
2017-04-25 20:19:54 +02:00
|
|
|
libsystemd_network],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-dhcp-server.c'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-ipv4ll.c',
|
|
|
|
'src/libsystemd-network/arp-util.h',
|
|
|
|
'src/systemd/sd-ipv4ll.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-ipv4ll-manual.c',
|
|
|
|
'src/systemd/sd-ipv4ll.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-acd.c',
|
|
|
|
'src/systemd/sd-ipv4acd.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-ndisc-rs.c',
|
|
|
|
'src/libsystemd-network/dhcp-identifier.h',
|
|
|
|
'src/libsystemd-network/dhcp-identifier.c',
|
|
|
|
'src/libsystemd-network/icmp6-util.h',
|
|
|
|
'src/systemd/sd-dhcp6-client.h',
|
|
|
|
'src/systemd/sd-ndisc.h'],
|
|
|
|
[libshared,
|
2017-04-25 20:19:54 +02:00
|
|
|
libsystemd_network],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
2017-05-11 15:19:21 +02:00
|
|
|
[['src/libsystemd-network/test-ndisc-ra.c',
|
|
|
|
'src/libsystemd-network/icmp6-util.h',
|
|
|
|
'src/systemd/sd-ndisc.h'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/libsystemd-network/test-dhcp6-client.c',
|
|
|
|
'src/libsystemd-network/dhcp-identifier.h',
|
|
|
|
'src/libsystemd-network/dhcp-identifier.c',
|
|
|
|
'src/libsystemd-network/dhcp6-internal.h',
|
|
|
|
'src/systemd/sd-dhcp6-client.h'],
|
|
|
|
[libshared,
|
2017-04-25 20:19:54 +02:00
|
|
|
libsystemd_network],
|
2017-04-18 01:25:00 +02:00
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/libsystemd-network/test-lldp.c'],
|
|
|
|
[libshared,
|
|
|
|
libsystemd_network],
|
|
|
|
[]],
|
|
|
|
]
|
2017-04-07 06:19:09 +02:00
|
|
|
|
|
|
|
############################################################
|
|
|
|
|
|
|
|
tests += [
|
2017-04-18 01:25:00 +02:00
|
|
|
[['src/login/test-login-shared.c'],
|
|
|
|
[],
|
|
|
|
[]],
|
|
|
|
|
|
|
|
[['src/login/test-inhibit.c'],
|
|
|
|
[],
|
|
|
|
[],
|
|
|
|
'', 'manual'],
|
|
|
|
|
|
|
|
[['src/login/test-login-tables.c'],
|
|
|
|
[liblogind_core,
|
2017-04-25 20:19:54 +02:00
|
|
|
libshared],
|
2017-04-18 01:25:00 +02:00
|
|
|
[threads]],
|
|
|
|
]
|