systemd-250-3
Resolves: #2047768,#2017035
This commit is contained in:
parent
f53bd80383
commit
b650a930d3
@ -6,6 +6,11 @@ Subject: [PATCH] logind: set RemoveIPC to false by default
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1959836
|
Resolves: #1959836
|
||||||
|
---
|
||||||
|
man/logind.conf.xml | 2 +-
|
||||||
|
src/login/logind-core.c | 2 +-
|
||||||
|
src/login/logind.conf.in | 2 +-
|
||||||
|
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/man/logind.conf.xml b/man/logind.conf.xml
|
diff --git a/man/logind.conf.xml b/man/logind.conf.xml
|
||||||
index 3045c1b9ba..96fa076239 100644
|
index 3045c1b9ba..96fa076239 100644
|
||||||
|
@ -7,6 +7,11 @@ Subject: [PATCH] tmpfiles: don't create resolv.conf -> stub-resolv.conf
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1989472
|
Resolves: #1989472
|
||||||
|
---
|
||||||
|
tmpfiles.d/meson.build | 1 -
|
||||||
|
tmpfiles.d/systemd-resolve.conf | 10 ----------
|
||||||
|
2 files changed, 11 deletions(-)
|
||||||
|
delete mode 100644 tmpfiles.d/systemd-resolve.conf
|
||||||
|
|
||||||
diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build
|
diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build
|
||||||
index b8d3919025..6ae9e3e0b8 100644
|
index b8d3919025..6ae9e3e0b8 100644
|
||||||
|
@ -6,6 +6,11 @@ Subject: [PATCH] Copy 40-redhat.rules from RHEL-8
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1978639
|
Resolves: #1978639
|
||||||
|
---
|
||||||
|
rules.d/40-redhat.rules | 46 +++++++++++++++++++++++++++++++++++++++++
|
||||||
|
rules.d/meson.build | 1 +
|
||||||
|
2 files changed, 47 insertions(+)
|
||||||
|
create mode 100644 rules.d/40-redhat.rules
|
||||||
|
|
||||||
diff --git a/rules.d/40-redhat.rules b/rules.d/40-redhat.rules
|
diff --git a/rules.d/40-redhat.rules b/rules.d/40-redhat.rules
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -9,6 +9,10 @@ adds an After relationship.
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1959826
|
Resolves: #1959826
|
||||||
|
---
|
||||||
|
src/core/unit.c | 7 +------
|
||||||
|
units/basic.target | 3 ++-
|
||||||
|
2 files changed, 3 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/core/unit.c b/src/core/unit.c
|
diff --git a/src/core/unit.c b/src/core/unit.c
|
||||||
index b1f1f5c82c..3a8251e2b8 100644
|
index b1f1f5c82c..3a8251e2b8 100644
|
||||||
|
@ -5,6 +5,10 @@ Subject: [PATCH] unit: don't add Requires for tmp.mount
|
|||||||
|
|
||||||
rhel-only
|
rhel-only
|
||||||
Resolves: #1619292
|
Resolves: #1619292
|
||||||
|
---
|
||||||
|
src/core/mount.c | 2 +-
|
||||||
|
src/core/unit.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/core/mount.c b/src/core/mount.c
|
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||||
index 0170406351..4d407ca4e5 100644
|
index 0170406351..4d407ca4e5 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] units: add [Install] section to tmp.mount
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Related: #1959826
|
Related: #1959826
|
||||||
|
---
|
||||||
|
units/tmp.mount | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
diff --git a/units/tmp.mount b/units/tmp.mount
|
diff --git a/units/tmp.mount b/units/tmp.mount
|
||||||
index 4e1bb8de24..4874e8daff 100644
|
index 4e1bb8de24..4874e8daff 100644
|
||||||
|
@ -9,6 +9,9 @@ just network-online.target didn't exist back then.
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1954429
|
Resolves: #1954429
|
||||||
|
---
|
||||||
|
units/rc-local.service.in | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/units/rc-local.service.in b/units/rc-local.service.in
|
diff --git a/units/rc-local.service.in b/units/rc-local.service.in
|
||||||
index 55e83dfe00..0eee722154 100644
|
index 55e83dfe00..0eee722154 100644
|
||||||
|
@ -12,6 +12,18 @@ Subject: [PATCH] ci: drop CIs irrelevant for downstream
|
|||||||
|
|
||||||
Resolves: #1960703
|
Resolves: #1960703
|
||||||
rhel-only
|
rhel-only
|
||||||
|
---
|
||||||
|
.github/labeler.yml | 40 -----------------
|
||||||
|
.github/workflows/cifuzz.yml | 55 -----------------------
|
||||||
|
.github/workflows/coverity.yml | 43 ------------------
|
||||||
|
.github/workflows/labeler.yml | 23 ----------
|
||||||
|
.github/workflows/mkosi.yml | 80 ----------------------------------
|
||||||
|
5 files changed, 241 deletions(-)
|
||||||
|
delete mode 100644 .github/labeler.yml
|
||||||
|
delete mode 100644 .github/workflows/cifuzz.yml
|
||||||
|
delete mode 100644 .github/workflows/coverity.yml
|
||||||
|
delete mode 100644 .github/workflows/labeler.yml
|
||||||
|
delete mode 100644 .github/workflows/mkosi.yml
|
||||||
|
|
||||||
diff --git a/.github/labeler.yml b/.github/labeler.yml
|
diff --git a/.github/labeler.yml b/.github/labeler.yml
|
||||||
deleted file mode 100644
|
deleted file mode 100644
|
||||||
|
@ -5,6 +5,9 @@ Subject: [PATCH] ci: reconfigure Packit for RHEL 9
|
|||||||
|
|
||||||
Resolves: #1960703
|
Resolves: #1960703
|
||||||
rhel-only
|
rhel-only
|
||||||
|
---
|
||||||
|
.packit.yml | 28 ++++++++++++++++++----------
|
||||||
|
1 file changed, 18 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
diff --git a/.packit.yml b/.packit.yml
|
diff --git a/.packit.yml b/.packit.yml
|
||||||
index 962c77913e..3461bccbc5 100644
|
index 962c77913e..3461bccbc5 100644
|
||||||
|
@ -5,6 +5,9 @@ Subject: [PATCH] ci: run unit tests on z-stream branches as well
|
|||||||
|
|
||||||
Resolves: #1960703
|
Resolves: #1960703
|
||||||
rhel-only
|
rhel-only
|
||||||
|
---
|
||||||
|
.github/workflows/unit_tests.yml | 6 +-----
|
||||||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml
|
diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml
|
||||||
index d4a4f3c723..2afde5d59d 100644
|
index d4a4f3c723..2afde5d59d 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] random-util: increase random seed size to 1024
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1982603
|
Resolves: #1982603
|
||||||
|
---
|
||||||
|
src/basic/random-util.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/basic/random-util.h b/src/basic/random-util.h
|
diff --git a/src/basic/random-util.h b/src/basic/random-util.h
|
||||||
index e6528ddc7f..fda78552f6 100644
|
index e6528ddc7f..fda78552f6 100644
|
||||||
|
@ -7,6 +7,10 @@ Subject: [PATCH] journal: don't enable systemd-journald-audit.socket by
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1973856
|
Resolves: #1973856
|
||||||
|
---
|
||||||
|
units/meson.build | 3 +--
|
||||||
|
units/systemd-journald.service.in | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/units/meson.build b/units/meson.build
|
diff --git a/units/meson.build b/units/meson.build
|
||||||
index a9bf28f6d9..69d53f4259 100644
|
index a9bf28f6d9..69d53f4259 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] journald.conf: don't touch current audit settings
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Related: #1973856
|
Related: #1973856
|
||||||
|
---
|
||||||
|
src/journal/journald.conf | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/journal/journald.conf b/src/journal/journald.conf
|
diff --git a/src/journal/journald.conf b/src/journal/journald.conf
|
||||||
index 5a60a9d39c..3544da2112 100644
|
index 5a60a9d39c..3544da2112 100644
|
||||||
|
@ -8,6 +8,11 @@ This reverts commit f2b8052fb648b788936dd3e85be6a9aca90fbb2f.
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1982666
|
Resolves: #1982666
|
||||||
|
---
|
||||||
|
man/udev.xml | 9 +++++++
|
||||||
|
src/udev/udev-rules.c | 56 +++++++++++++++++++++++++++++++++++++++
|
||||||
|
test/rule-syntax-check.py | 2 +-
|
||||||
|
3 files changed, 66 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/man/udev.xml b/man/udev.xml
|
diff --git a/man/udev.xml b/man/udev.xml
|
||||||
index f6ea2abc12..ce96e201e4 100644
|
index f6ea2abc12..ce96e201e4 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] Really don't enable systemd-journald-audit.socket
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1973856
|
Resolves: #1973856
|
||||||
|
---
|
||||||
|
units/systemd-journald.service.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
|
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
|
||||||
index d981273b07..f190dff5fb 100644
|
index d981273b07..f190dff5fb 100644
|
||||||
|
@ -9,6 +9,11 @@ it for rhel8 via udev rule.
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #2003002
|
Resolves: #2003002
|
||||||
|
---
|
||||||
|
rules.d/40-elevator.rules | 20 ++++++++++++++++++++
|
||||||
|
rules.d/meson.build | 1 +
|
||||||
|
2 files changed, 21 insertions(+)
|
||||||
|
create mode 100644 rules.d/40-elevator.rules
|
||||||
|
|
||||||
diff --git a/rules.d/40-elevator.rules b/rules.d/40-elevator.rules
|
diff --git a/rules.d/40-elevator.rules b/rules.d/40-elevator.rules
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] units: don't enable tmp.mount statically in local-fs.target
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Related: #2000927
|
Related: #2000927
|
||||||
|
---
|
||||||
|
units/meson.build | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/units/meson.build b/units/meson.build
|
diff --git a/units/meson.build b/units/meson.build
|
||||||
index 69d53f4259..9eb535858a 100644
|
index 69d53f4259..9eb535858a 100644
|
||||||
|
@ -8,6 +8,11 @@ This should be hopefully high enough even for the very big deployments.
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #2003031
|
Resolves: #2003031
|
||||||
|
---
|
||||||
|
man/systemd-system.conf.xml | 4 ++--
|
||||||
|
src/core/main.c | 2 +-
|
||||||
|
src/core/system.conf.in | 2 +-
|
||||||
|
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
|
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
|
||||||
index 3805a010e2..b8e2b65625 100644
|
index 3805a010e2..b8e2b65625 100644
|
||||||
|
@ -6,6 +6,9 @@ Subject: [PATCH] set core ulimit to 0 like on RHEL-7
|
|||||||
RHEL-only
|
RHEL-only
|
||||||
|
|
||||||
Resolves: #1998509
|
Resolves: #1998509
|
||||||
|
---
|
||||||
|
src/core/system.conf.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/core/system.conf.in b/src/core/system.conf.in
|
diff --git a/src/core/system.conf.in b/src/core/system.conf.in
|
||||||
index c0dc6a7e17..5913b5b0e4 100644
|
index c0dc6a7e17..5913b5b0e4 100644
|
||||||
|
@ -5,6 +5,9 @@ Subject: [PATCH] ci: use C9S chroots in Packit
|
|||||||
|
|
||||||
rhel-only
|
rhel-only
|
||||||
Related: #2017035
|
Related: #2017035
|
||||||
|
---
|
||||||
|
.packit.yml | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/.packit.yml b/.packit.yml
|
diff --git a/.packit.yml b/.packit.yml
|
||||||
index 3461bccbc5..ce8782aae2 100644
|
index 3461bccbc5..ce8782aae2 100644
|
||||||
|
@ -111,6 +111,9 @@ Cherry-picked manually from https://github.com/systemd/systemd/pull/17050.
|
|||||||
|
|
||||||
rhel-only
|
rhel-only
|
||||||
Related: #2017035
|
Related: #2017035
|
||||||
|
---
|
||||||
|
src/test/test-mountpoint-util.c | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c
|
diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c
|
||||||
index d11edf502a..9515d8cf7b 100644
|
index d11edf502a..9515d8cf7b 100644
|
||||||
|
30
0022-Treat-EPERM-as-not-available-too.patch
Normal file
30
0022-Treat-EPERM-as-not-available-too.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 3c54c67a7fc65dc5b49b2452739c19b94eeb98a9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Tue, 21 Dec 2021 10:46:17 +0100
|
||||||
|
Subject: [PATCH] Treat EPERM as "not available" too
|
||||||
|
|
||||||
|
We need to do this because idmapped mounts habe been disabled in RHEL-9
|
||||||
|
kernel: https://bugzilla.redhat.com/show_bug.cgi?id=2018141 .
|
||||||
|
|
||||||
|
RHEL-only
|
||||||
|
|
||||||
|
Fixes #55
|
||||||
|
|
||||||
|
Related: #2017035
|
||||||
|
---
|
||||||
|
src/nspawn/nspawn.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||||
|
index 8f17ab8810..9225c8f162 100644
|
||||||
|
--- a/src/nspawn/nspawn.c
|
||||||
|
+++ b/src/nspawn/nspawn.c
|
||||||
|
@@ -3780,7 +3780,7 @@ static int outer_child(
|
||||||
|
arg_uid_shift != 0) {
|
||||||
|
|
||||||
|
r = remount_idmap(directory, arg_uid_shift, arg_uid_range);
|
||||||
|
- if (r == -EINVAL || ERRNO_IS_NOT_SUPPORTED(r)) {
|
||||||
|
+ if (IN_SET(r, -EINVAL, -EPERM) || ERRNO_IS_NOT_SUPPORTED(r)) {
|
||||||
|
/* This might fail because the kernel or file system doesn't support idmapping. We
|
||||||
|
* can't really distinguish this nicely, nor do we have any guarantees about the
|
||||||
|
* error codes we see, could be EOPNOTSUPP or EINVAL. */
|
@ -0,0 +1,39 @@
|
|||||||
|
From 324d99159e1e64d78a580073626f5b645f1c3639 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||||||
|
Date: Mon, 31 Jan 2022 14:19:09 +0100
|
||||||
|
Subject: [PATCH] test: copy portable profiles into the image if they don't
|
||||||
|
exist there
|
||||||
|
|
||||||
|
If we're built with `-Dportable=false`, the portable profiles won't get
|
||||||
|
installed into the image. Since we need only the profile files and
|
||||||
|
nothing else, let's copy them into the image explicitly in such case.
|
||||||
|
|
||||||
|
(cherry picked from commit 6f73ef8b30803ac1be1b2607aec1a89d778caa9a)
|
||||||
|
|
||||||
|
Related: #2017035
|
||||||
|
---
|
||||||
|
test/test-functions | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/test/test-functions b/test/test-functions
|
||||||
|
index 218d0e6888..35d8f074a9 100644
|
||||||
|
--- a/test/test-functions
|
||||||
|
+++ b/test/test-functions
|
||||||
|
@@ -1151,6 +1151,17 @@ install_systemd() {
|
||||||
|
mkdir -p "$initdir/etc/systemd/system/service.d/"
|
||||||
|
echo -e "[Service]\nProtectSystem=no\nProtectHome=no\n" >"$initdir/etc/systemd/system/service.d/gcov-override.conf"
|
||||||
|
fi
|
||||||
|
+
|
||||||
|
+ # If we're built with -Dportabled=false, tests with systemd-analyze
|
||||||
|
+ # --profile will fail. Since we need just the profile (text) files, let's
|
||||||
|
+ # copy them into the image if they don't exist there.
|
||||||
|
+ local portable_dir="${initdir:?}${ROOTLIBDIR:?}/portable"
|
||||||
|
+ if [[ ! -d "$portable_dir/profile/strict" ]]; then
|
||||||
|
+ dinfo "Couldn't find portable profiles in the test image"
|
||||||
|
+ dinfo "Copying them directly from the source tree"
|
||||||
|
+ mkdir -p "$portable_dir"
|
||||||
|
+ cp -frv "${SOURCE_DIR:?}/src/portable/profile" "$portable_dir"
|
||||||
|
+ fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_ldpath() {
|
43
0024-test-introduce-get_cgroup_hierarchy-helper.patch
Normal file
43
0024-test-introduce-get_cgroup_hierarchy-helper.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
From 16908e1ec833d857cb418712c382c6f604426b36 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||||||
|
Date: Tue, 1 Feb 2022 20:18:29 +0100
|
||||||
|
Subject: [PATCH] test: introduce `get_cgroup_hierarchy() helper
|
||||||
|
|
||||||
|
which returns the host's cgroup hierarchy (unified, hybrid, or legacy).
|
||||||
|
|
||||||
|
(cherry picked from commit f723740871bd3eb89d16a526a1ff77c04bb3787a)
|
||||||
|
|
||||||
|
Related: #2047768
|
||||||
|
---
|
||||||
|
test/test-functions | 18 ++++++++++++++++++
|
||||||
|
1 file changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/test/test-functions b/test/test-functions
|
||||||
|
index 35d8f074a9..4827b6bedf 100644
|
||||||
|
--- a/test/test-functions
|
||||||
|
+++ b/test/test-functions
|
||||||
|
@@ -1996,6 +1996,24 @@ import_initdir() {
|
||||||
|
export initdir
|
||||||
|
}
|
||||||
|
|
||||||
|
+get_cgroup_hierarchy() {
|
||||||
|
+ case "$(stat -c '%T' -f /sys/fs/cgroup)" in
|
||||||
|
+ cgroup2fs)
|
||||||
|
+ echo "unified"
|
||||||
|
+ ;;
|
||||||
|
+ tmpfs)
|
||||||
|
+ if [[ -d /sys/fs/cgroup/unified && "$(stat -c '%T' -f /sys/fs/cgroup/unified)" == cgroup2fs ]]; then
|
||||||
|
+ echo "hybrid"
|
||||||
|
+ else
|
||||||
|
+ echo "legacy"
|
||||||
|
+ fi
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ dfatal "Failed to determine host's cgroup hierarchy"
|
||||||
|
+ exit 1
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
## @brief Converts numeric logging level to the first letter of level name.
|
||||||
|
#
|
||||||
|
# @param lvl Numeric logging level in range from 1 to 6.
|
30
0025-test-require-unified-cgroup-hierarchy-for-TEST-56.patch
Normal file
30
0025-test-require-unified-cgroup-hierarchy-for-TEST-56.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 523e72e97d7c945114b54b726eaab0d379fb35fb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||||||
|
Date: Tue, 1 Feb 2022 20:25:00 +0100
|
||||||
|
Subject: [PATCH] test: require unified cgroup hierarchy for TEST-56
|
||||||
|
|
||||||
|
since cgroup empty notifications are unreliable in legacy cgroups.
|
||||||
|
|
||||||
|
See: systemd/systemd#22320
|
||||||
|
Complements: systemd/systemd#22344
|
||||||
|
(cherry picked from commit e2620820188428de7086f5e8ac41305177f70954)
|
||||||
|
|
||||||
|
Related: #2047768
|
||||||
|
---
|
||||||
|
test/TEST-56-EXIT-TYPE/test.sh | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/test/TEST-56-EXIT-TYPE/test.sh b/test/TEST-56-EXIT-TYPE/test.sh
|
||||||
|
index 0f84dca1ba..37475e817e 100755
|
||||||
|
--- a/test/TEST-56-EXIT-TYPE/test.sh
|
||||||
|
+++ b/test/TEST-56-EXIT-TYPE/test.sh
|
||||||
|
@@ -6,4 +6,9 @@ TEST_DESCRIPTION="test ExitType=cgroup"
|
||||||
|
# shellcheck source=test/test-functions
|
||||||
|
. "${TEST_BASE_DIR:?}/test-functions"
|
||||||
|
|
||||||
|
+if [[ "$(get_cgroup_hierarchy)" != unified ]]; then
|
||||||
|
+ echo "This test requires unified cgroup hierarchy, skipping..."
|
||||||
|
+ exit 0
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
do_test "$@"
|
671
0026-tests-rework-test-macros-to-not-take-code-as-paramet.patch
Normal file
671
0026-tests-rework-test-macros-to-not-take-code-as-paramet.patch
Normal file
@ -0,0 +1,671 @@
|
|||||||
|
From 845417e653b42b8f3928c68955bd6416f2fa4509 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Tue, 1 Feb 2022 12:06:59 +0100
|
||||||
|
Subject: [PATCH] tests: rework test macros to not take code as parameters
|
||||||
|
|
||||||
|
C macros are nasty. We use them, but we try to be conservative with
|
||||||
|
them. In particular passing literal, complex code blocks as argument is
|
||||||
|
icky, because of "," handling of C, and also because it's quite a
|
||||||
|
challange for most code highlighters and similar. Hence, let's avoid
|
||||||
|
that. Using macros for genreating functions is OK but if so, the
|
||||||
|
parameters should be simple words, not full code blocks.
|
||||||
|
|
||||||
|
hence, rework DEFINE_CUSTOM_TEST_MAIN() to take a function name instead
|
||||||
|
of code block as argument.
|
||||||
|
|
||||||
|
As side-effect this also fixes a bunch of cases where we might end up
|
||||||
|
returning a negative value from main().
|
||||||
|
|
||||||
|
Some uses of DEFINE_CUSTOM_TEST_MAIN() inserted local variables into the
|
||||||
|
main() functions, these are replaced by static variables, and their
|
||||||
|
destructors by the static destructor logic.
|
||||||
|
|
||||||
|
This doesn't fix any bugs or so, it's just supposed to make the code
|
||||||
|
easier to work with and improve it easthetically.
|
||||||
|
|
||||||
|
Or in other words: let's use macros where it really makes sense, but
|
||||||
|
let's not go overboard with it.
|
||||||
|
|
||||||
|
(And yes, FOREACH_DIRENT() is another one of those macros that take
|
||||||
|
code, and I dislike that too and regret I ever added that.)
|
||||||
|
|
||||||
|
(cherry picked from commit 99839c7ebd4b83a5b0d5982d669cfe10d1252e1f)
|
||||||
|
|
||||||
|
Related: #2017035
|
||||||
|
---
|
||||||
|
src/shared/tests.h | 25 +++++++++++++-----
|
||||||
|
src/test/test-barrier.c | 46 +++++++++++++++++----------------
|
||||||
|
src/test/test-cgroup-setup.c | 15 ++++++-----
|
||||||
|
src/test/test-chown-rec.c | 15 ++++++-----
|
||||||
|
src/test/test-format-table.c | 14 +++++-----
|
||||||
|
src/test/test-fs-util.c | 7 ++++-
|
||||||
|
src/test/test-hashmap.c | 16 +++++++++---
|
||||||
|
src/test/test-install-root.c | 14 +++++++---
|
||||||
|
src/test/test-load-fragment.c | 21 ++++++++-------
|
||||||
|
src/test/test-mountpoint-util.c | 30 +++++++++++----------
|
||||||
|
src/test/test-namespace.c | 15 ++++++-----
|
||||||
|
src/test/test-proc-cmdline.c | 15 ++++++-----
|
||||||
|
src/test/test-process-util.c | 7 ++++-
|
||||||
|
src/test/test-sd-hwdb.c | 21 ++++++++-------
|
||||||
|
src/test/test-serialize.c | 16 ++++++------
|
||||||
|
src/test/test-sleep.c | 15 ++++++-----
|
||||||
|
src/test/test-stat-util.c | 7 ++++-
|
||||||
|
src/test/test-time-util.c | 6 +++--
|
||||||
|
src/test/test-unit-file.c | 7 ++++-
|
||||||
|
src/test/test-unit-name.c | 21 ++++++++-------
|
||||||
|
src/test/test-unit-serialize.c | 21 ++++++++-------
|
||||||
|
src/test/test-utf8.c | 7 ++++-
|
||||||
|
22 files changed, 215 insertions(+), 146 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/shared/tests.h b/src/shared/tests.h
|
||||||
|
index 3b93aab498..59448f38f6 100644
|
||||||
|
--- a/src/shared/tests.h
|
||||||
|
+++ b/src/shared/tests.h
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
#include "sd-daemon.h"
|
||||||
|
|
||||||
|
#include "macro.h"
|
||||||
|
+#include "static-destruct.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
static inline bool manager_errno_skip_test(int r) {
|
||||||
|
@@ -109,15 +110,27 @@ static inline int run_test_table(void) {
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static inline int test_nop(void) {
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#define DEFINE_CUSTOM_TEST_MAIN(log_level, intro, outro) \
|
||||||
|
int main(int argc, char *argv[]) { \
|
||||||
|
- int _r = EXIT_SUCCESS; \
|
||||||
|
+ int _r, _q; \
|
||||||
|
test_setup_logging(log_level); \
|
||||||
|
save_argc_argv(argc, argv); \
|
||||||
|
- intro; \
|
||||||
|
- _r = run_test_table(); \
|
||||||
|
- outro; \
|
||||||
|
- return _r; \
|
||||||
|
+ _r = intro(); \
|
||||||
|
+ if (_r == EXIT_SUCCESS) \
|
||||||
|
+ _r = run_test_table(); \
|
||||||
|
+ _q = outro(); \
|
||||||
|
+ static_destruct(); \
|
||||||
|
+ if (_r < 0) \
|
||||||
|
+ return EXIT_FAILURE; \
|
||||||
|
+ if (_r != EXIT_SUCCESS) \
|
||||||
|
+ return _r; \
|
||||||
|
+ if (_q < 0) \
|
||||||
|
+ return EXIT_FAILURE; \
|
||||||
|
+ return _q; \
|
||||||
|
}
|
||||||
|
|
||||||
|
-#define DEFINE_TEST_MAIN(log_level) DEFINE_CUSTOM_TEST_MAIN(log_level, , )
|
||||||
|
+#define DEFINE_TEST_MAIN(log_level) DEFINE_CUSTOM_TEST_MAIN(log_level, test_nop, test_nop)
|
||||||
|
diff --git a/src/test/test-barrier.c b/src/test/test-barrier.c
|
||||||
|
index 8998282afb..b87538806a 100644
|
||||||
|
--- a/src/test/test-barrier.c
|
||||||
|
+++ b/src/test/test-barrier.c
|
||||||
|
@@ -421,25 +421,27 @@ TEST_BARRIER(barrier_pending_exit,
|
||||||
|
}),
|
||||||
|
TEST_BARRIER_WAIT_SUCCESS(pid2));
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- ({
|
||||||
|
- if (!slow_tests_enabled())
|
||||||
|
- return log_tests_skipped("slow tests are disabled");
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * This test uses real-time alarms and sleeps to test for CPU races
|
||||||
|
- * explicitly. This is highly fragile if your system is under load. We
|
||||||
|
- * already increased the BASE_TIME value to make the tests more robust,
|
||||||
|
- * but that just makes the test take significantly longer. Given the recent
|
||||||
|
- * issues when running the test in a virtualized environments, limit it
|
||||||
|
- * to bare metal machines only, to minimize false-positives in CIs.
|
||||||
|
- */
|
||||||
|
- int v = detect_virtualization();
|
||||||
|
- if (IN_SET(v, -EPERM, -EACCES))
|
||||||
|
- return log_tests_skipped("Cannot detect virtualization");
|
||||||
|
-
|
||||||
|
- if (v != VIRTUALIZATION_NONE)
|
||||||
|
- return log_tests_skipped("This test requires a baremetal machine");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (!slow_tests_enabled())
|
||||||
|
+ return log_tests_skipped("slow tests are disabled");
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * This test uses real-time alarms and sleeps to test for CPU races explicitly. This is highly
|
||||||
|
+ * fragile if your system is under load. We already increased the BASE_TIME value to make the tests
|
||||||
|
+ * more robust, but that just makes the test take significantly longer. Given the recent issues when
|
||||||
|
+ * running the test in a virtualized environments, limit it to bare metal machines only, to minimize
|
||||||
|
+ * false-positives in CIs.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+ int v = detect_virtualization();
|
||||||
|
+ if (IN_SET(v, -EPERM, -EACCES))
|
||||||
|
+ return log_tests_skipped("Cannot detect virtualization");
|
||||||
|
+
|
||||||
|
+ if (v != VIRTUALIZATION_NONE)
|
||||||
|
+ return log_tests_skipped("This test requires a baremetal machine");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-cgroup-setup.c b/src/test/test-cgroup-setup.c
|
||||||
|
index 018992f96d..6f93647685 100644
|
||||||
|
--- a/src/test/test-cgroup-setup.c
|
||||||
|
+++ b/src/test/test-cgroup-setup.c
|
||||||
|
@@ -64,10 +64,11 @@ TEST(is_wanted) {
|
||||||
|
test_is_wanted_print_one(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
- ({
|
||||||
|
- if (access("/proc/cmdline", R_OK) < 0 && ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
- return log_tests_skipped("can't read /proc/cmdline");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (access("/proc/cmdline", R_OK) < 0 && ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
+ return log_tests_skipped("can't read /proc/cmdline");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-chown-rec.c b/src/test/test-chown-rec.c
|
||||||
|
index 53d44566d5..691cfe767f 100644
|
||||||
|
--- a/src/test/test-chown-rec.c
|
||||||
|
+++ b/src/test/test-chown-rec.c
|
||||||
|
@@ -149,10 +149,11 @@ TEST(chown_recursive) {
|
||||||
|
assert_se(!has_xattr(p));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
- ({
|
||||||
|
- if (geteuid() != 0)
|
||||||
|
- return log_tests_skipped("not running as root");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (geteuid() != 0)
|
||||||
|
+ return log_tests_skipped("not running as root");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-format-table.c b/src/test/test-format-table.c
|
||||||
|
index a3b29ca337..7515a74c12 100644
|
||||||
|
--- a/src/test/test-format-table.c
|
||||||
|
+++ b/src/test/test-format-table.c
|
||||||
|
@@ -529,10 +529,10 @@ TEST(table) {
|
||||||
|
"5min 5min \n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- ({
|
||||||
|
- assert_se(setenv("SYSTEMD_COLORS", "0", 1) >= 0);
|
||||||
|
- assert_se(setenv("COLUMNS", "40", 1) >= 0);
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ assert_se(setenv("SYSTEMD_COLORS", "0", 1) >= 0);
|
||||||
|
+ assert_se(setenv("COLUMNS", "40", 1) >= 0);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c
|
||||||
|
index 0e0d91d04e..da5a16b4bc 100644
|
||||||
|
--- a/src/test/test-fs-util.c
|
||||||
|
+++ b/src/test/test-fs-util.c
|
||||||
|
@@ -968,4 +968,9 @@ TEST(open_mkdir_at) {
|
||||||
|
assert_se(subsubdir_fd >= 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, arg_test_dir = argv[1], /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ arg_test_dir = saved_argv[1];
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
|
||||||
|
index cba0c33a8a..4dc155d818 100644
|
||||||
|
--- a/src/test/test-hashmap.c
|
||||||
|
+++ b/src/test/test-hashmap.c
|
||||||
|
@@ -158,7 +158,15 @@ TEST(hashmap_put_strdup_null) {
|
||||||
|
/* This variable allows us to assert that the tests from different compilation units were actually run. */
|
||||||
|
int n_extern_tests_run = 0;
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- assert_se(n_extern_tests_run == 0),
|
||||||
|
- assert_se(n_extern_tests_run == 2)); /* Ensure hashmap and ordered_hashmap were tested. */
|
||||||
|
+static int intro(void) {
|
||||||
|
+ assert_se(n_extern_tests_run == 0);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int outro(void) {
|
||||||
|
+ /* Ensure hashmap and ordered_hashmap were tested. */
|
||||||
|
+ assert_se(n_extern_tests_run == 2);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, outro);
|
||||||
|
diff --git a/src/test/test-install-root.c b/src/test/test-install-root.c
|
||||||
|
index ba715e6d7e..f540a832bd 100644
|
||||||
|
--- a/src/test/test-install-root.c
|
||||||
|
+++ b/src/test/test-install-root.c
|
||||||
|
@@ -11,8 +11,11 @@
|
||||||
|
#include "special.h"
|
||||||
|
#include "string-util.h"
|
||||||
|
#include "tests.h"
|
||||||
|
+#include "tmpfile-util.h"
|
||||||
|
|
||||||
|
-static char root[] = "/tmp/rootXXXXXX";
|
||||||
|
+static char *root = NULL;
|
||||||
|
+
|
||||||
|
+STATIC_DESTRUCTOR_REGISTER(root, rm_rf_physical_and_freep);
|
||||||
|
|
||||||
|
TEST(basic_mask_and_enable) {
|
||||||
|
const char *p;
|
||||||
|
@@ -1239,10 +1242,10 @@ TEST(verify_alias) {
|
||||||
|
verify_one(&di_inst_template, "goo.target.conf/plain.service", -EXDEV, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void setup_root(void) {
|
||||||
|
+static int intro(void) {
|
||||||
|
const char *p;
|
||||||
|
|
||||||
|
- assert_se(mkdtemp(root));
|
||||||
|
+ assert_se(mkdtemp_malloc("/tmp/rootXXXXXX", &root) >= 0);
|
||||||
|
|
||||||
|
p = strjoina(root, "/usr/lib/systemd/system/");
|
||||||
|
assert_se(mkdir_p(p, 0755) >= 0);
|
||||||
|
@@ -1264,6 +1267,9 @@ static void setup_root(void) {
|
||||||
|
|
||||||
|
p = strjoina(root, "/usr/lib/systemd/system/graphical.target");
|
||||||
|
assert_se(write_string_file(p, "# pretty much empty", WRITE_STRING_FILE_CREATE) >= 0);
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, setup_root(), assert_se(rm_rf(root, REMOVE_ROOT|REMOVE_PHYSICAL) >= 0));
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-load-fragment.c b/src/test/test-load-fragment.c
|
||||||
|
index e878979a89..2e105df56a 100644
|
||||||
|
--- a/src/test/test-load-fragment.c
|
||||||
|
+++ b/src/test/test-load-fragment.c
|
||||||
|
@@ -30,6 +30,10 @@
|
||||||
|
/* Nontrivial value serves as a placeholder to check that parsing function (didn't) change it */
|
||||||
|
#define CGROUP_LIMIT_DUMMY 3
|
||||||
|
|
||||||
|
+static char *runtime_dir = NULL;
|
||||||
|
+
|
||||||
|
+STATIC_DESTRUCTOR_REGISTER(runtime_dir, rm_rf_physical_and_freep);
|
||||||
|
+
|
||||||
|
TEST_RET(unit_file_get_set) {
|
||||||
|
int r;
|
||||||
|
Hashmap *h;
|
||||||
|
@@ -894,15 +898,12 @@ TEST(unit_is_recursive_template_dependency) {
|
||||||
|
assert_se(unit_is_likely_recursive_template_dependency(u, "foobar@foobar@123.mount", "foobar@%n.mount") == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
+ return log_tests_skipped("cgroupfs not available");
|
||||||
|
|
||||||
|
- _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||||
|
- ({
|
||||||
|
- if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
- return log_tests_skipped("cgroupfs not available");
|
||||||
|
-
|
||||||
|
- assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
- }),
|
||||||
|
+ assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
|
||||||
|
- /* no outro */);
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c
|
||||||
|
index 9515d8cf7b..102d2850bf 100644
|
||||||
|
--- a/src/test/test-mountpoint-util.c
|
||||||
|
+++ b/src/test/test-mountpoint-util.c
|
||||||
|
@@ -298,17 +298,19 @@ TEST(fd_is_mount_point) {
|
||||||
|
assert_se(IN_SET(fd_is_mount_point(fd, "root/", 0), -ENOENT, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
- ({
|
||||||
|
- /* let's move into our own mount namespace with all propagation from the host turned off, so
|
||||||
|
- * that /proc/self/mountinfo is static and constant for the whole time our test runs. */
|
||||||
|
- if (unshare(CLONE_NEWNS) < 0) {
|
||||||
|
- if (!ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
- return log_error_errno(errno, "Failed to detach mount namespace: %m");
|
||||||
|
-
|
||||||
|
- log_notice("Lacking privilege to create separate mount namespace, proceeding in originating mount namespace.");
|
||||||
|
- } else
|
||||||
|
- assert_se(mount(NULL, "/", NULL, MS_PRIVATE | MS_REC, NULL) >= 0);
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ /* let's move into our own mount namespace with all propagation from the host turned off, so
|
||||||
|
+ * that /proc/self/mountinfo is static and constant for the whole time our test runs. */
|
||||||
|
+
|
||||||
|
+ if (unshare(CLONE_NEWNS) < 0) {
|
||||||
|
+ if (!ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
+ return log_error_errno(errno, "Failed to detach mount namespace: %m");
|
||||||
|
+
|
||||||
|
+ log_notice("Lacking privilege to create separate mount namespace, proceeding in originating mount namespace.");
|
||||||
|
+ } else
|
||||||
|
+ assert_se(mount(NULL, "/", NULL, MS_PRIVATE | MS_REC, NULL) >= 0);
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-namespace.c b/src/test/test-namespace.c
|
||||||
|
index 8df5533d6e..f9e34f3bfa 100644
|
||||||
|
--- a/src/test/test-namespace.c
|
||||||
|
+++ b/src/test/test-namespace.c
|
||||||
|
@@ -220,10 +220,11 @@ TEST(protect_kernel_logs) {
|
||||||
|
assert_se(wait_for_terminate_and_check("ns-kernellogs", pid, WAIT_LOG) == EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- ({
|
||||||
|
- if (!have_namespaces())
|
||||||
|
- return log_tests_skipped("Don't have namespace support");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (!have_namespaces())
|
||||||
|
+ return log_tests_skipped("Don't have namespace support");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-proc-cmdline.c b/src/test/test-proc-cmdline.c
|
||||||
|
index 1c8c9b80b7..064b4d838f 100644
|
||||||
|
--- a/src/test/test-proc-cmdline.c
|
||||||
|
+++ b/src/test/test-proc-cmdline.c
|
||||||
|
@@ -247,10 +247,11 @@ TEST(proc_cmdline_key_startswith) {
|
||||||
|
assert_se(!proc_cmdline_key_startswith("foo-bar", "foo_xx"));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- ({
|
||||||
|
- if (access("/proc/cmdline", R_OK) < 0 && ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
- return log_tests_skipped("can't read /proc/cmdline");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (access("/proc/cmdline", R_OK) < 0 && ERRNO_IS_PRIVILEGE(errno))
|
||||||
|
+ return log_tests_skipped("can't read /proc/cmdline");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c
|
||||||
|
index 06a640b1cc..8661934929 100644
|
||||||
|
--- a/src/test/test-process-util.c
|
||||||
|
+++ b/src/test/test-process-util.c
|
||||||
|
@@ -895,4 +895,9 @@ TEST(set_oom_score_adjust) {
|
||||||
|
assert_se(b == a);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, log_show_color(true), /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ log_show_color(true);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-sd-hwdb.c b/src/test/test-sd-hwdb.c
|
||||||
|
index 7961c17c4a..88992a6c2b 100644
|
||||||
|
--- a/src/test/test-sd-hwdb.c
|
||||||
|
+++ b/src/test/test-sd-hwdb.c
|
||||||
|
@@ -52,12 +52,15 @@ TEST(basic_enumerate) {
|
||||||
|
assert_se(len1 == len2);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
- ({
|
||||||
|
- _cleanup_(sd_hwdb_unrefp) sd_hwdb *hwdb = NULL;
|
||||||
|
- int r = sd_hwdb_new(&hwdb);
|
||||||
|
- if (r == -ENOENT || ERRNO_IS_PRIVILEGE(r))
|
||||||
|
- return log_tests_skipped_errno(r, "cannot open hwdb");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ _cleanup_(sd_hwdb_unrefp) sd_hwdb *hwdb = NULL;
|
||||||
|
+ int r;
|
||||||
|
+
|
||||||
|
+ r = sd_hwdb_new(&hwdb);
|
||||||
|
+ if (r == -ENOENT || ERRNO_IS_PRIVILEGE(r))
|
||||||
|
+ return log_tests_skipped_errno(r, "cannot open hwdb");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-serialize.c b/src/test/test-serialize.c
|
||||||
|
index fb04b3e7fa..9aeb6c5920 100644
|
||||||
|
--- a/src/test/test-serialize.c
|
||||||
|
+++ b/src/test/test-serialize.c
|
||||||
|
@@ -10,7 +10,7 @@
|
||||||
|
#include "tests.h"
|
||||||
|
#include "tmpfile-util.h"
|
||||||
|
|
||||||
|
-char long_string[LONG_LINE_MAX+1];
|
||||||
|
+static char long_string[LONG_LINE_MAX+1];
|
||||||
|
|
||||||
|
TEST(serialize_item) {
|
||||||
|
_cleanup_(unlink_tempfilep) char fn[] = "/tmp/test-serialize.XXXXXX";
|
||||||
|
@@ -189,10 +189,10 @@ TEST(serialize_environment) {
|
||||||
|
assert_se(strv_equal(env, env2));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
- ({
|
||||||
|
- memset(long_string, 'x', sizeof(long_string)-1);
|
||||||
|
- char_array_0(long_string);
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ memset(long_string, 'x', sizeof(long_string)-1);
|
||||||
|
+ char_array_0(long_string);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-sleep.c b/src/test/test-sleep.c
|
||||||
|
index 183ad4f7b7..f56e7e0167 100644
|
||||||
|
--- a/src/test/test-sleep.c
|
||||||
|
+++ b/src/test/test-sleep.c
|
||||||
|
@@ -118,10 +118,11 @@ TEST(sleep) {
|
||||||
|
log_info("Suspend-then-Hibernate configured and possible: %s", r >= 0 ? yes_no(r) : strerror_safe(r));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
- ({
|
||||||
|
- if (getuid() != 0)
|
||||||
|
- log_warning("This program is unlikely to work for unprivileged users");
|
||||||
|
- }),
|
||||||
|
- /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (getuid() != 0)
|
||||||
|
+ log_warning("This program is unlikely to work for unprivileged users");
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-stat-util.c b/src/test/test-stat-util.c
|
||||||
|
index 0f7b3ca3ce..2965ee679f 100644
|
||||||
|
--- a/src/test/test-stat-util.c
|
||||||
|
+++ b/src/test/test-stat-util.c
|
||||||
|
@@ -236,4 +236,9 @@ TEST(dir_is_empty) {
|
||||||
|
assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, log_show_color(true), /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ log_show_color(true);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-time-util.c b/src/test/test-time-util.c
|
||||||
|
index 4d0131827e..f21d8b7794 100644
|
||||||
|
--- a/src/test/test-time-util.c
|
||||||
|
+++ b/src/test/test-time-util.c
|
||||||
|
@@ -588,7 +588,7 @@ TEST(map_clock_usec) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void setup_test(void) {
|
||||||
|
+static int intro(void) {
|
||||||
|
log_info("realtime=" USEC_FMT "\n"
|
||||||
|
"monotonic=" USEC_FMT "\n"
|
||||||
|
"boottime=" USEC_FMT "\n",
|
||||||
|
@@ -603,6 +603,8 @@ static void setup_test(void) {
|
||||||
|
uintmax_t x = TIME_T_MAX;
|
||||||
|
x++;
|
||||||
|
assert_se((time_t) x < 0);
|
||||||
|
+
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, setup_test(), /* no outro */);
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
|
||||||
|
index 0f8c25c218..6c9f245c7e 100644
|
||||||
|
--- a/src/test/test-unit-file.c
|
||||||
|
+++ b/src/test/test-unit-file.c
|
||||||
|
@@ -102,4 +102,9 @@ TEST(runlevel_to_target) {
|
||||||
|
assert_se(streq_ptr(runlevel_to_target("rd.rescue"), SPECIAL_RESCUE_TARGET));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, log_show_color(true), /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ log_show_color(true);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c
|
||||||
|
index 6bde9e090d..1f65407e5f 100644
|
||||||
|
--- a/src/test/test-unit-name.c
|
||||||
|
+++ b/src/test/test-unit-name.c
|
||||||
|
@@ -23,6 +23,10 @@
|
||||||
|
#include "user-util.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
+static char *runtime_dir = NULL;
|
||||||
|
+
|
||||||
|
+STATIC_DESTRUCTOR_REGISTER(runtime_dir, rm_rf_physical_and_freep);
|
||||||
|
+
|
||||||
|
static void test_unit_name_is_valid_one(const char *name, UnitNameFlags flags, bool expected) {
|
||||||
|
log_info("%s ( %s%s%s ): %s",
|
||||||
|
name,
|
||||||
|
@@ -844,15 +848,12 @@ TEST(unit_name_prefix_equal) {
|
||||||
|
assert_se(!unit_name_prefix_equal("a", "a"));
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_INFO,
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
+ return log_tests_skipped("cgroupfs not available");
|
||||||
|
|
||||||
|
- _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||||
|
- ({
|
||||||
|
- if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
- return log_tests_skipped("cgroupfs not available");
|
||||||
|
-
|
||||||
|
- assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
- }),
|
||||||
|
+ assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
|
||||||
|
- /* no outro */);
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-unit-serialize.c b/src/test/test-unit-serialize.c
|
||||||
|
index 899fdc000c..5d39176db2 100644
|
||||||
|
--- a/src/test/test-unit-serialize.c
|
||||||
|
+++ b/src/test/test-unit-serialize.c
|
||||||
|
@@ -4,6 +4,10 @@
|
||||||
|
#include "service.h"
|
||||||
|
#include "tests.h"
|
||||||
|
|
||||||
|
+static char *runtime_dir = NULL;
|
||||||
|
+
|
||||||
|
+STATIC_DESTRUCTOR_REGISTER(runtime_dir, rm_rf_physical_and_freep);
|
||||||
|
+
|
||||||
|
#define EXEC_START_ABSOLUTE \
|
||||||
|
"ExecStart 0 /bin/sh \"sh\" \"-e\" \"-x\" \"-c\" \"systemctl --state=failed --no-legend --no-pager >/failed ; systemctl daemon-reload ; echo OK >/testok\""
|
||||||
|
#define EXEC_START_RELATIVE \
|
||||||
|
@@ -48,15 +52,12 @@ TEST(deserialize_exec_command) {
|
||||||
|
test_deserialize_exec_command_one(m, "control-command", "ExecWhat 11 /a/b c d e", -EINVAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(
|
||||||
|
- LOG_DEBUG,
|
||||||
|
+static int intro(void) {
|
||||||
|
+ if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
+ return log_tests_skipped("cgroupfs not available");
|
||||||
|
|
||||||
|
- _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
|
||||||
|
- ({
|
||||||
|
- if (enter_cgroup_subroot(NULL) == -ENOMEDIUM)
|
||||||
|
- return log_tests_skipped("cgroupfs not available");
|
||||||
|
-
|
||||||
|
- assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
- }),
|
||||||
|
+ assert_se(runtime_dir = setup_fake_runtime_dir());
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
|
||||||
|
- /* no outro */);
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
diff --git a/src/test/test-utf8.c b/src/test/test-utf8.c
|
||||||
|
index a21fcd6fd2..1b31d1f852 100644
|
||||||
|
--- a/src/test/test-utf8.c
|
||||||
|
+++ b/src/test/test-utf8.c
|
||||||
|
@@ -231,4 +231,9 @@ TEST(utf8_to_utf16) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, log_show_color(true), /* no outro */);
|
||||||
|
+static int intro(void) {
|
||||||
|
+ log_show_color(true);
|
||||||
|
+ return EXIT_SUCCESS;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
300
0027-test-allow-to-set-NULL-to-intro-or-outro.patch
Normal file
300
0027-test-allow-to-set-NULL-to-intro-or-outro.patch
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
From 0be677fb6663ab6bfd02eae6ad32e7f031cfde0f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||||||
|
Date: Wed, 2 Feb 2022 11:06:41 +0900
|
||||||
|
Subject: [PATCH] test: allow to set NULL to intro or outro
|
||||||
|
|
||||||
|
Addresses https://github.com/systemd/systemd/pull/22338#discussion_r796741033.
|
||||||
|
|
||||||
|
(cherry picked from commit e85fdacc8ad7d91f140a135aaa3fd5372d3fa47c)
|
||||||
|
|
||||||
|
Related: #2017035
|
||||||
|
---
|
||||||
|
src/shared/tests.h | 45 +++++++++++++++++----------------
|
||||||
|
src/test/test-barrier.c | 2 +-
|
||||||
|
src/test/test-cgroup-setup.c | 2 +-
|
||||||
|
src/test/test-chown-rec.c | 2 +-
|
||||||
|
src/test/test-format-table.c | 2 +-
|
||||||
|
src/test/test-fs-util.c | 2 +-
|
||||||
|
src/test/test-hashmap.c | 2 +-
|
||||||
|
src/test/test-install-root.c | 2 +-
|
||||||
|
src/test/test-load-fragment.c | 2 +-
|
||||||
|
src/test/test-mountpoint-util.c | 2 +-
|
||||||
|
src/test/test-namespace.c | 2 +-
|
||||||
|
src/test/test-proc-cmdline.c | 2 +-
|
||||||
|
src/test/test-process-util.c | 2 +-
|
||||||
|
src/test/test-sd-hwdb.c | 2 +-
|
||||||
|
src/test/test-serialize.c | 2 +-
|
||||||
|
src/test/test-sleep.c | 2 +-
|
||||||
|
src/test/test-stat-util.c | 2 +-
|
||||||
|
src/test/test-time-util.c | 2 +-
|
||||||
|
src/test/test-unit-file.c | 2 +-
|
||||||
|
src/test/test-unit-name.c | 2 +-
|
||||||
|
src/test/test-unit-serialize.c | 2 +-
|
||||||
|
src/test/test-utf8.c | 2 +-
|
||||||
|
22 files changed, 44 insertions(+), 43 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/shared/tests.h b/src/shared/tests.h
|
||||||
|
index 59448f38f6..ef6acd368e 100644
|
||||||
|
--- a/src/shared/tests.h
|
||||||
|
+++ b/src/shared/tests.h
|
||||||
|
@@ -110,27 +110,28 @@ static inline int run_test_table(void) {
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline int test_nop(void) {
|
||||||
|
- return EXIT_SUCCESS;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-#define DEFINE_CUSTOM_TEST_MAIN(log_level, intro, outro) \
|
||||||
|
- int main(int argc, char *argv[]) { \
|
||||||
|
- int _r, _q; \
|
||||||
|
- test_setup_logging(log_level); \
|
||||||
|
- save_argc_argv(argc, argv); \
|
||||||
|
- _r = intro(); \
|
||||||
|
- if (_r == EXIT_SUCCESS) \
|
||||||
|
- _r = run_test_table(); \
|
||||||
|
- _q = outro(); \
|
||||||
|
- static_destruct(); \
|
||||||
|
- if (_r < 0) \
|
||||||
|
- return EXIT_FAILURE; \
|
||||||
|
- if (_r != EXIT_SUCCESS) \
|
||||||
|
- return _r; \
|
||||||
|
- if (_q < 0) \
|
||||||
|
- return EXIT_FAILURE; \
|
||||||
|
- return _q; \
|
||||||
|
+#define DEFINE_TEST_MAIN_FULL(log_level, intro, outro) \
|
||||||
|
+ int main(int argc, char *argv[]) { \
|
||||||
|
+ int (*_intro)(void) = intro; \
|
||||||
|
+ int (*_outro)(void) = outro; \
|
||||||
|
+ int _r, _q; \
|
||||||
|
+ test_setup_logging(log_level); \
|
||||||
|
+ save_argc_argv(argc, argv); \
|
||||||
|
+ _r = _intro ? _intro() : EXIT_SUCCESS; \
|
||||||
|
+ if (_r == EXIT_SUCCESS) \
|
||||||
|
+ _r = run_test_table(); \
|
||||||
|
+ _q = _outro ? _outro() : EXIT_SUCCESS; \
|
||||||
|
+ static_destruct(); \
|
||||||
|
+ if (_r < 0) \
|
||||||
|
+ return EXIT_FAILURE; \
|
||||||
|
+ if (_r != EXIT_SUCCESS) \
|
||||||
|
+ return _r; \
|
||||||
|
+ if (_q < 0) \
|
||||||
|
+ return EXIT_FAILURE; \
|
||||||
|
+ return _q; \
|
||||||
|
}
|
||||||
|
|
||||||
|
-#define DEFINE_TEST_MAIN(log_level) DEFINE_CUSTOM_TEST_MAIN(log_level, test_nop, test_nop)
|
||||||
|
+#define DEFINE_TEST_MAIN_WITH_INTRO(log_level, intro) \
|
||||||
|
+ DEFINE_TEST_MAIN_FULL(log_level, intro, NULL)
|
||||||
|
+#define DEFINE_TEST_MAIN(log_level) \
|
||||||
|
+ DEFINE_TEST_MAIN_FULL(log_level, NULL, NULL)
|
||||||
|
diff --git a/src/test/test-barrier.c b/src/test/test-barrier.c
|
||||||
|
index b87538806a..bbd7e2bddb 100644
|
||||||
|
--- a/src/test/test-barrier.c
|
||||||
|
+++ b/src/test/test-barrier.c
|
||||||
|
@@ -444,4 +444,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-cgroup-setup.c b/src/test/test-cgroup-setup.c
|
||||||
|
index 6f93647685..c377ff0a00 100644
|
||||||
|
--- a/src/test/test-cgroup-setup.c
|
||||||
|
+++ b/src/test/test-cgroup-setup.c
|
||||||
|
@@ -71,4 +71,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-chown-rec.c b/src/test/test-chown-rec.c
|
||||||
|
index 691cfe767f..97711f58b0 100644
|
||||||
|
--- a/src/test/test-chown-rec.c
|
||||||
|
+++ b/src/test/test-chown-rec.c
|
||||||
|
@@ -156,4 +156,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-format-table.c b/src/test/test-format-table.c
|
||||||
|
index 7515a74c12..1b4963d928 100644
|
||||||
|
--- a/src/test/test-format-table.c
|
||||||
|
+++ b/src/test/test-format-table.c
|
||||||
|
@@ -535,4 +535,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c
|
||||||
|
index da5a16b4bc..602ce75f98 100644
|
||||||
|
--- a/src/test/test-fs-util.c
|
||||||
|
+++ b/src/test/test-fs-util.c
|
||||||
|
@@ -973,4 +973,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c
|
||||||
|
index 4dc155d818..dbf762cc0b 100644
|
||||||
|
--- a/src/test/test-hashmap.c
|
||||||
|
+++ b/src/test/test-hashmap.c
|
||||||
|
@@ -169,4 +169,4 @@ static int outro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, outro);
|
||||||
|
+DEFINE_TEST_MAIN_FULL(LOG_INFO, intro, outro);
|
||||||
|
diff --git a/src/test/test-install-root.c b/src/test/test-install-root.c
|
||||||
|
index f540a832bd..f718689c3a 100644
|
||||||
|
--- a/src/test/test-install-root.c
|
||||||
|
+++ b/src/test/test-install-root.c
|
||||||
|
@@ -1272,4 +1272,4 @@ static int intro(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-load-fragment.c b/src/test/test-load-fragment.c
|
||||||
|
index 2e105df56a..1bd68c7e0a 100644
|
||||||
|
--- a/src/test/test-load-fragment.c
|
||||||
|
+++ b/src/test/test-load-fragment.c
|
||||||
|
@@ -906,4 +906,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c
|
||||||
|
index 102d2850bf..4d140c42b6 100644
|
||||||
|
--- a/src/test/test-mountpoint-util.c
|
||||||
|
+++ b/src/test/test-mountpoint-util.c
|
||||||
|
@@ -313,4 +313,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-namespace.c b/src/test/test-namespace.c
|
||||||
|
index f9e34f3bfa..7a634adca9 100644
|
||||||
|
--- a/src/test/test-namespace.c
|
||||||
|
+++ b/src/test/test-namespace.c
|
||||||
|
@@ -227,4 +227,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-proc-cmdline.c b/src/test/test-proc-cmdline.c
|
||||||
|
index 064b4d838f..1f43bb3eb0 100644
|
||||||
|
--- a/src/test/test-proc-cmdline.c
|
||||||
|
+++ b/src/test/test-proc-cmdline.c
|
||||||
|
@@ -254,4 +254,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c
|
||||||
|
index 8661934929..7a8adad50c 100644
|
||||||
|
--- a/src/test/test-process-util.c
|
||||||
|
+++ b/src/test/test-process-util.c
|
||||||
|
@@ -900,4 +900,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-sd-hwdb.c b/src/test/test-sd-hwdb.c
|
||||||
|
index 88992a6c2b..4251e2a809 100644
|
||||||
|
--- a/src/test/test-sd-hwdb.c
|
||||||
|
+++ b/src/test/test-sd-hwdb.c
|
||||||
|
@@ -63,4 +63,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-serialize.c b/src/test/test-serialize.c
|
||||||
|
index 9aeb6c5920..bcf2e843b0 100644
|
||||||
|
--- a/src/test/test-serialize.c
|
||||||
|
+++ b/src/test/test-serialize.c
|
||||||
|
@@ -195,4 +195,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-sleep.c b/src/test/test-sleep.c
|
||||||
|
index f56e7e0167..5aebcdd935 100644
|
||||||
|
--- a/src/test/test-sleep.c
|
||||||
|
+++ b/src/test/test-sleep.c
|
||||||
|
@@ -125,4 +125,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-stat-util.c b/src/test/test-stat-util.c
|
||||||
|
index 2965ee679f..7f633ab259 100644
|
||||||
|
--- a/src/test/test-stat-util.c
|
||||||
|
+++ b/src/test/test-stat-util.c
|
||||||
|
@@ -241,4 +241,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-time-util.c b/src/test/test-time-util.c
|
||||||
|
index f21d8b7794..554693834b 100644
|
||||||
|
--- a/src/test/test-time-util.c
|
||||||
|
+++ b/src/test/test-time-util.c
|
||||||
|
@@ -607,4 +607,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c
|
||||||
|
index 6c9f245c7e..cc08a4ae4b 100644
|
||||||
|
--- a/src/test/test-unit-file.c
|
||||||
|
+++ b/src/test/test-unit-file.c
|
||||||
|
@@ -107,4 +107,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c
|
||||||
|
index 1f65407e5f..8cd0e0b4a1 100644
|
||||||
|
--- a/src/test/test-unit-name.c
|
||||||
|
+++ b/src/test/test-unit-name.c
|
||||||
|
@@ -856,4 +856,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||||
|
diff --git a/src/test/test-unit-serialize.c b/src/test/test-unit-serialize.c
|
||||||
|
index 5d39176db2..3ef15f3b1e 100644
|
||||||
|
--- a/src/test/test-unit-serialize.c
|
||||||
|
+++ b/src/test/test-unit-serialize.c
|
||||||
|
@@ -60,4 +60,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro);
|
||||||
|
diff --git a/src/test/test-utf8.c b/src/test/test-utf8.c
|
||||||
|
index 1b31d1f852..7337b81227 100644
|
||||||
|
--- a/src/test/test-utf8.c
|
||||||
|
+++ b/src/test/test-utf8.c
|
||||||
|
@@ -236,4 +236,4 @@ static int intro(void) {
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop);
|
||||||
|
+DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
16
systemd.spec
16
systemd.spec
@ -21,7 +21,7 @@
|
|||||||
Name: systemd
|
Name: systemd
|
||||||
Url: https://www.freedesktop.org/wiki/Software/systemd
|
Url: https://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 250
|
Version: 250
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: System and Service Manager
|
Summary: System and Service Manager
|
||||||
@ -99,6 +99,12 @@ Patch0018: 0018-pid1-bump-DefaultTasksMax-to-80-of-the-kernel-pid.ma.patch
|
|||||||
Patch0019: 0019-set-core-ulimit-to-0-like-on-RHEL-7.patch
|
Patch0019: 0019-set-core-ulimit-to-0-like-on-RHEL-7.patch
|
||||||
Patch0020: 0020-ci-use-C9S-chroots-in-Packit.patch
|
Patch0020: 0020-ci-use-C9S-chroots-in-Packit.patch
|
||||||
Patch0021: 0021-test-mountpointutil-util-do-not-assert-in-test_mnt_i.patch
|
Patch0021: 0021-test-mountpointutil-util-do-not-assert-in-test_mnt_i.patch
|
||||||
|
Patch0022: 0022-Treat-EPERM-as-not-available-too.patch
|
||||||
|
Patch0023: 0023-test-copy-portable-profiles-into-the-image-if-they-d.patch
|
||||||
|
Patch0024: 0024-test-introduce-get_cgroup_hierarchy-helper.patch
|
||||||
|
Patch0025: 0025-test-require-unified-cgroup-hierarchy-for-TEST-56.patch
|
||||||
|
Patch0026: 0026-tests-rework-test-macros-to-not-take-code-as-paramet.patch
|
||||||
|
Patch0027: 0027-test-allow-to-set-NULL-to-intro-or-outro.patch
|
||||||
|
|
||||||
# Downstream-only patches (9000–9999)
|
# Downstream-only patches (9000–9999)
|
||||||
|
|
||||||
@ -880,6 +886,14 @@ getent passwd systemd-oom &>/dev/null || useradd -r -l -g systemd-oom -d / -s /s
|
|||||||
%files standalone-sysusers -f .file-list-standalone-sysusers
|
%files standalone-sysusers -f .file-list-standalone-sysusers
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 08 2022 systemd maintenance team <systemd-maint@redhat.com> - 250-3
|
||||||
|
- Treat EPERM as "not available" too (#2017035)
|
||||||
|
- test: copy portable profiles into the image if they don't exist there (#2017035)
|
||||||
|
- test: introduce `get_cgroup_hierarchy() helper (#2047768)
|
||||||
|
- test: require unified cgroup hierarchy for TEST-56 (#2047768)
|
||||||
|
- tests: rework test macros to not take code as parameters (#2017035)
|
||||||
|
- test: allow to set NULL to intro or outro (#2017035)
|
||||||
|
|
||||||
* Tue Feb 01 2022 Michal Sekletar <msekleta@redhat.com> - 250-2
|
* Tue Feb 01 2022 Michal Sekletar <msekleta@redhat.com> - 250-2
|
||||||
- spec: make sure version string starts with version number (#2049054)
|
- spec: make sure version string starts with version number (#2049054)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user