1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

test: add tests for UpheldBy= in [Install] section

This commit is contained in:
Mike Yuan 2023-05-15 14:41:29 +08:00
parent 38f901791f
commit b5b1351317
No known key found for this signature in database
GPG Key ID: 417471C0A40F58B3
4 changed files with 25 additions and 3 deletions

View File

@ -1135,6 +1135,9 @@ TEST(verify_alias) {
verify_one(&plain_service, "alias.socket", -EXDEV, NULL);
verify_one(&plain_service, "alias@.service", -EXDEV, NULL);
verify_one(&plain_service, "alias@inst.service", -EXDEV, NULL);
/* Setting WantedBy= and RequiredBy= through Alias= is supported for the sake of backwards
* compatibility. */
verify_one(&plain_service, "foo.target.wants/plain.service", 0, NULL);
verify_one(&plain_service, "foo.target.wants/plain.socket", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.wants/plain@.service", -EXDEV, NULL);
@ -1143,9 +1146,14 @@ TEST(verify_alias) {
verify_one(&plain_service, "foo.target.requires/plain.socket", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.requires/plain@.service", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.requires/service", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.conf/plain.service", -EXDEV, NULL);
verify_one(&plain_service, "foo.service/plain.service", -EXDEV, NULL); /* missing dir suffix */
verify_one(&plain_service, "asdf.requires/plain.service", -EXDEV, NULL); /* invalid unit name component */
/* The newly-added UpheldBy= (.upholds/) and other suffixes should be rejected */
verify_one(&plain_service, "foo.target.upholds/plain.service", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.upholds/plain.socket", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.upholds/plain@.service", -EXDEV, NULL);
verify_one(&plain_service, "foo.target.upholds/service", -EXDEV, NULL);
verify_one(&plain_service, "foo.service/plain.service", -EXDEV, NULL); /* missing dir suffix */
verify_one(&plain_service, "foo.target.conf/plain.service", -EXDEV, NULL);
verify_one(&bare_template, "alias.service", -EXDEV, NULL);
verify_one(&bare_template, "alias.socket", -EXDEV, NULL);

View File

@ -269,6 +269,8 @@ Type=
USBFunctionDescriptors=
USBFunctionStrings=
Unit=
UpheldBy=
Upholds=
User=
WakeSystem=
WantedBy=

View File

@ -0,0 +1,9 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Unit]
Description=Unit that sets UpheldBy= through [Install]
[Service]
ExecStart=/bin/sleep infinity
[Install]
UpheldBy=testsuite-23-retry-uphold.service

View File

@ -30,6 +30,8 @@ done
systemctl stop testsuite-23-uphold.service
systemctl enable testsuite-23-upheldby-install.service
# Idea is this:
# 1. we start testsuite-23-retry-uphold.service
# 2. which through Uphold= starts testsuite-23-retry-upheld.service
@ -42,12 +44,13 @@ systemctl stop testsuite-23-uphold.service
rm -f /tmp/testsuite-23-retry-fail
systemctl start testsuite-23-retry-uphold.service
systemctl is-active testsuite-23-upheldby-install.service
while ! systemctl is-failed testsuite-23-retry-fail.service ; do
sleep .5
done
systemctl is-active testsuite-23-retry-upheld.service && { echo 'unexpected success'; exit 1; }
(! systemctl is-active testsuite-23-retry-upheld.service)
touch /tmp/testsuite-23-retry-fail