@@ -10,7 +10,14 @@ set -o pipefail
1010at_exit () {
1111 set +e
1212
13- rm -f /run/systemd/system/testsuite-23-no-reload.{service,target}
13+ rm -f /run/systemd/system/testsuite-23-no-reload.target
14+ rm -f /run/systemd/system/testsuite-23-no-reload.service
15+ rm -f /run/systemd/system/testsuite-23-no-reload-2.service
16+ rm -f /run/systemd/system/testsuite-23-no-reload-3.service
17+ systemctl stop testsuite-23-no-reload.target
18+ systemctl stop testsuite-23-no-reload.service
19+ systemctl stop testsuite-23-no-reload-2.service
20+ systemctl stop testsuite-23-no-reload-3.service
1421}
1522
1623trap at_exit EXIT
9198systemctl restart testsuite-23-no-reload.target
9299
93100systemctl is-active testsuite-23-no-reload.service
101+
102+ # Stop and remove, and try again to exercise https://github.com/systemd/systemd/issues/36031
103+ systemctl stop testsuite-23-no-reload.service testsuite-23-no-reload.target
104+ rm -f /run/systemd/system/testsuite-23-no-reload.service /run/systemd/system/testsuite-23-no-reload.target
105+ systemctl daemon-reload
106+
107+ sleep 3.1
108+
109+ cat > /run/systemd/system/testsuite-23-no-reload.target << EOF
110+ [Unit]
111+ Conflicts=shutdown.target
112+ EOF
113+
114+ cat > /run/systemd/system/testsuite-23-no-reload.service << EOF
115+ [Unit]
116+ Conflicts=testsuite-23-no-reload.target
117+ Wants=testsuite-23-no-reload-2.service
118+ Wants=testsuite-23-no-reload-3.service
119+ [Service]
120+ ExecStart=sleep infinity
121+ EOF
122+
123+ systemctl daemon-reload
124+
125+ systemctl start testsuite-23-no-reload.service
126+ (! systemctl is-active testsuite-23-no-reload.target )
127+ systemctl is-active testsuite-23-no-reload.service
128+ [[ " $( systemctl show --property LoadState --value testsuite-23-no-reload-2.service) " == not-found ]]
129+ [[ " $( systemctl show --property LoadState --value testsuite-23-no-reload-3.service) " == not-found ]]
130+
131+ cat > /run/systemd/system/testsuite-23-no-reload-2.service << EOF
132+ [Unit]
133+ Conflicts=testsuite-23-no-reload.target
134+ [Service]
135+ ExecStart=sleep infinity
136+ EOF
137+
138+ # This service file is intentionally invalid (Type=exec without ExecStart=).
139+ cat > /run/systemd/system/testsuite-23-no-reload-3.service << EOF
140+ [Unit]
141+ Conflicts=testsuite-23-no-reload.target
142+ [Service]
143+ Type=exec
144+ ExecStop=sleep infinity
145+ EOF
146+
147+ systemctl start testsuite-23-no-reload.target
148+ systemctl is-active testsuite-23-no-reload.target
149+ (! systemctl is-active testsuite-23-no-reload.service )
150+ (! systemctl is-active testsuite-23-no-reload-2.service )
151+ (! systemctl is-active testsuite-23-no-reload-3.service )
152+ [[ " $( systemctl show --property LoadState --value testsuite-23-no-reload-2.service) " == loaded ]]
153+ [[ " $( systemctl show --property LoadState --value testsuite-23-no-reload-3.service) " == bad-setting ]]
154+ [[ " $( systemctl show --property Conflicts --value testsuite-23-no-reload-2.service) " =~ testsuite-23-no-reload.target ]]
155+ [[ " $( systemctl show --property Conflicts --value testsuite-23-no-reload-3.service) " =~ testsuite-23-no-reload.target ]]
0 commit comments