]> git.ipfire.org Git - thirdparty/systemd.git/blob - test/units/testsuite-33.sh
Merge pull request #18863 from keszybz/cmdline-escaping
[thirdparty/systemd.git] / test / units / testsuite-33.sh
1 #!/usr/bin/env bash
2 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3 # ex: ts=8 sw=4 sts=4 et filetype=sh
4 set -eux
5 set -o pipefail
6
7 cat >/etc/systemd/system/testservice.service <<EOF
8 [Service]
9 ConfigurationDirectory=testservice
10 RuntimeDirectory=testservice
11 StateDirectory=testservice
12 CacheDirectory=testservice
13 LogsDirectory=testservice
14 RuntimeDirectoryPreserve=yes
15 ExecStart=/bin/sleep infinity
16 Type=exec
17 EOF
18
19 systemctl daemon-reload
20
21 test ! -e /etc/testservice
22 test ! -e /run/testservice
23 test ! -e /var/lib/testservice
24 test ! -e /var/cache/testservice
25 test ! -e /var/log/testservice
26
27 systemctl start testservice
28
29 test -d /etc/testservice
30 test -d /run/testservice
31 test -d /var/lib/testservice
32 test -d /var/cache/testservice
33 test -d /var/log/testservice
34
35 systemctl clean testservice && { echo 'unexpected success'; exit 1; }
36
37 systemctl stop testservice
38
39 test -d /etc/testservice
40 test -d /run/testservice
41 test -d /var/lib/testservice
42 test -d /var/cache/testservice
43 test -d /var/log/testservice
44
45 systemctl clean testservice --what=configuration
46
47 test ! -e /etc/testservice
48 test -d /run/testservice
49 test -d /var/lib/testservice
50 test -d /var/cache/testservice
51 test -d /var/log/testservice
52
53 systemctl clean testservice
54
55 test ! -e /etc/testservice
56 test ! -e /run/testservice
57 test -d /var/lib/testservice
58 test ! -e /var/cache/testservice
59 test -d /var/log/testservice
60
61 systemctl clean testservice --what=logs
62
63 test ! -e /etc/testservice
64 test ! -e /run/testservice
65 test -d /var/lib/testservice
66 test ! -e /var/cache/testservice
67 test ! -e /var/log/testservice
68
69 systemctl clean testservice --what=all
70
71 test ! -e /etc/testservice
72 test ! -e /run/testservice
73 test ! -e /var/lib/testservice
74 test ! -e /var/cache/testservice
75 test ! -e /var/log/testservice
76
77 cat >/etc/systemd/system/testservice.service <<EOF
78 [Service]
79 DynamicUser=yes
80 ConfigurationDirectory=testservice
81 RuntimeDirectory=testservice
82 StateDirectory=testservice
83 CacheDirectory=testservice
84 LogsDirectory=testservice
85 RuntimeDirectoryPreserve=yes
86 ExecStart=/bin/sleep infinity
87 Type=exec
88 EOF
89
90 systemctl daemon-reload
91
92 test ! -e /etc/testservice
93 test ! -e /run/testservice
94 test ! -e /var/lib/testservice
95 test ! -e /var/cache/testservice
96 test ! -e /var/log/testservice
97
98 systemctl restart testservice
99
100 test -d /etc/testservice
101 test -d /run/private/testservice
102 test -d /var/lib/private/testservice
103 test -d /var/cache/private/testservice
104 test -d /var/log/private/testservice
105 test -L /run/testservice
106 test -L /var/lib/testservice
107 test -L /var/cache/testservice
108 test -L /var/log/testservice
109
110 systemctl clean testservice && { echo 'unexpected success'; exit 1; }
111
112 systemctl stop testservice
113
114 test -d /etc/testservice
115 test -d /run/private/testservice
116 test -d /var/lib/private/testservice
117 test -d /var/cache/private/testservice
118 test -d /var/log/private/testservice
119 test -L /run/testservice
120 test -L /var/lib/testservice
121 test -L /var/cache/testservice
122 test -L /var/log/testservice
123
124 systemctl clean testservice --what=configuration
125
126 test ! -d /etc/testservice
127 test -d /run/private/testservice
128 test -d /var/lib/private/testservice
129 test -d /var/cache/private/testservice
130 test -d /var/log/private/testservice
131 test -L /run/testservice
132 test -L /var/lib/testservice
133 test -L /var/cache/testservice
134 test -L /var/log/testservice
135
136 systemctl clean testservice
137
138 test ! -d /etc/testservice
139 test ! -d /run/private/testservice
140 test -d /var/lib/private/testservice
141 test ! -d /var/cache/private/testservice
142 test -d /var/log/private/testservice
143 test ! -L /run/testservice
144 test -L /var/lib/testservice
145 test ! -L /var/cache/testservice
146 test -L /var/log/testservice
147
148 systemctl clean testservice --what=logs
149
150 test ! -d /etc/testservice
151 test ! -d /run/private/testservice
152 test -d /var/lib/private/testservice
153 test ! -d /var/cache/private/testservice
154 test ! -d /var/log/private/testservice
155 test ! -L /run/testservice
156 test -L /var/lib/testservice
157 test ! -L /var/cache/testservice
158 test ! -L /var/log/testservice
159
160 systemctl clean testservice --what=all
161
162 test ! -d /etc/testservice
163 test ! -d /run/private/testservice
164 test ! -d /var/lib/private/testservice
165 test ! -d /var/cache/private/testservice
166 test ! -d /var/log/private/testservice
167 test ! -L /run/testservice
168 test ! -L /var/lib/testservice
169 test ! -L /var/cache/testservice
170 test ! -L /var/log/testservice
171
172 cat >/etc/systemd/system/tmp-hoge.mount <<EOF
173 [Mount]
174 What=tmpfs
175 Type=tmpfs
176 ConfigurationDirectory=hoge
177 RuntimeDirectory=hoge
178 StateDirectory=hoge
179 CacheDirectory=hoge
180 LogsDirectory=hoge
181 EOF
182
183 systemctl daemon-reload
184
185 test ! -e /etc/hoge
186 test ! -e /run/hoge
187 test ! -e /var/lib/hoge
188 test ! -e /var/cache/hoge
189 test ! -e /var/log/hoge
190
191 systemctl start tmp-hoge.mount
192
193 test -d /etc/hoge
194 test -d /run/hoge
195 test -d /var/lib/hoge
196 test -d /var/cache/hoge
197 test -d /var/log/hoge
198
199 systemctl clean tmp-hoge.mount && { echo 'unexpected success'; exit 1; }
200
201 test -d /etc/hoge
202 test -d /run/hoge
203 test -d /var/lib/hoge
204 test -d /var/cache/hoge
205 test -d /var/log/hoge
206
207 systemctl stop tmp-hoge.mount
208
209 test -d /etc/hoge
210 test ! -d /run/hoge
211 test -d /var/lib/hoge
212 test -d /var/cache/hoge
213 test -d /var/log/hoge
214
215 systemctl clean tmp-hoge.mount --what=configuration
216
217 test ! -d /etc/hoge
218 test ! -d /run/hoge
219 test -d /var/lib/hoge
220 test -d /var/cache/hoge
221 test -d /var/log/hoge
222
223 systemctl clean tmp-hoge.mount
224
225 test ! -d /etc/hoge
226 test ! -d /run/hoge
227 test -d /var/lib/hoge
228 test ! -d /var/cache/hoge
229 test -d /var/log/hoge
230
231 systemctl clean tmp-hoge.mount --what=logs
232
233 test ! -d /etc/hoge
234 test ! -d /run/hoge
235 test -d /var/lib/hoge
236 test ! -d /var/cache/hoge
237 test ! -d /var/log/hoge
238
239 systemctl clean tmp-hoge.mount --what=all
240
241 test ! -d /etc/hoge
242 test ! -d /run/hoge
243 test ! -d /var/lib/hoge
244 test ! -d /var/cache/hoge
245 test ! -d /var/log/hoge
246
247 cat >/etc/systemd/system/testservice.socket <<EOF
248 [Socket]
249 ListenSequentialPacket=/run/testservice.socket
250 RemoveOnStop=yes
251 ExecStartPre=true
252 ConfigurationDirectory=testsocket
253 RuntimeDirectory=testsocket
254 StateDirectory=testsocket
255 CacheDirectory=testsocket
256 LogsDirectory=testsocket
257 EOF
258
259 systemctl daemon-reload
260
261 test ! -e /etc/testsocket
262 test ! -e /run/testsocket
263 test ! -e /var/lib/testsocket
264 test ! -e /var/cache/testsocket
265 test ! -e /var/log/testsocket
266
267 systemctl start testservice.socket
268
269 test -d /etc/testsocket
270 test -d /run/testsocket
271 test -d /var/lib/testsocket
272 test -d /var/cache/testsocket
273 test -d /var/log/testsocket
274
275 systemctl clean testservice.socket && { echo 'unexpected success'; exit 1; }
276
277 systemctl stop testservice.socket
278
279 test -d /etc/testsocket
280 test ! -d /run/testsocket
281 test -d /var/lib/testsocket
282 test -d /var/cache/testsocket
283 test -d /var/log/testsocket
284
285 systemctl clean testservice.socket --what=configuration
286
287 test ! -e /etc/testsocket
288 test ! -d /run/testsocket
289 test -d /var/lib/testsocket
290 test -d /var/cache/testsocket
291 test -d /var/log/testsocket
292
293 systemctl clean testservice.socket
294
295 test ! -e /etc/testsocket
296 test ! -e /run/testsocket
297 test -d /var/lib/testsocket
298 test ! -e /var/cache/testsocket
299 test -d /var/log/testsocket
300
301 systemctl clean testservice.socket --what=logs
302
303 test ! -e /etc/testsocket
304 test ! -e /run/testsocket
305 test -d /var/lib/testsocket
306 test ! -e /var/cache/testsocket
307 test ! -e /var/log/testsocket
308
309 systemctl clean testservice.socket --what=all
310
311 test ! -e /etc/testsocket
312 test ! -e /run/testsocket
313 test ! -e /var/lib/testsocket
314 test ! -e /var/cache/testsocket
315 test ! -e /var/log/testsocket
316
317 echo OK >/testok
318
319 exit 0