]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
b0193f1c LP |
2 | |
3 | #include <stdio.h> | |
4 | #include <stdlib.h> | |
b0193f1c | 5 | |
b5efdb8a | 6 | #include "alloc-util.h" |
57b7a260 | 7 | #include "all-units.h" |
2aaafcf5 | 8 | #include "glob-util.h" |
ca78ad1d | 9 | #include "format-util.h" |
07630cea LP |
10 | #include "hostname-util.h" |
11 | #include "macro.h" | |
1682ff60 | 12 | #include "manager.h" |
07630cea | 13 | #include "path-util.h" |
a04efff8 | 14 | #include "rm-rf.h" |
e5af6e0e | 15 | #include "special.h" |
07630cea LP |
16 | #include "specifier.h" |
17 | #include "string-util.h" | |
a04efff8 | 18 | #include "tests.h" |
b4152e9b | 19 | #include "unit-def.h" |
b0193f1c | 20 | #include "unit-name.h" |
1682ff60 | 21 | #include "unit-printf.h" |
07630cea | 22 | #include "unit.h" |
79413b67 | 23 | #include "user-util.h" |
b0193f1c LP |
24 | #include "util.h" |
25 | ||
c86ebcf3 ZJS |
26 | static void test_unit_name_is_valid_one(const char *name, UnitNameFlags flags, bool expected) { |
27 | log_info("%s ( %s%s%s ): %s", | |
28 | name, | |
29 | (flags & UNIT_NAME_PLAIN) ? "plain" : "", | |
30 | (flags & UNIT_NAME_INSTANCE) ? " instance" : "", | |
31 | (flags & UNIT_NAME_TEMPLATE) ? " template" : "", | |
32 | yes_no(expected)); | |
33 | assert_se(unit_name_is_valid(name, flags) == expected); | |
34 | } | |
35 | ||
7410616c | 36 | static void test_unit_name_is_valid(void) { |
c86ebcf3 ZJS |
37 | log_info("/* %s */", __func__); |
38 | ||
39 | test_unit_name_is_valid_one("foo.service", UNIT_NAME_ANY, true); | |
40 | test_unit_name_is_valid_one("foo.service", UNIT_NAME_PLAIN, true); | |
41 | test_unit_name_is_valid_one("foo.service", UNIT_NAME_INSTANCE, false); | |
42 | test_unit_name_is_valid_one("foo.service", UNIT_NAME_TEMPLATE, false); | |
43 | test_unit_name_is_valid_one("foo.service", UNIT_NAME_INSTANCE|UNIT_NAME_TEMPLATE, false); | |
44 | ||
45 | test_unit_name_is_valid_one("foo@bar.service", UNIT_NAME_ANY, true); | |
46 | test_unit_name_is_valid_one("foo@bar.service", UNIT_NAME_PLAIN, false); | |
47 | test_unit_name_is_valid_one("foo@bar.service", UNIT_NAME_INSTANCE, true); | |
48 | test_unit_name_is_valid_one("foo@bar.service", UNIT_NAME_TEMPLATE, false); | |
49 | test_unit_name_is_valid_one("foo@bar.service", UNIT_NAME_INSTANCE|UNIT_NAME_TEMPLATE, true); | |
50 | ||
51 | test_unit_name_is_valid_one("foo@bar@bar.service", UNIT_NAME_ANY, true); | |
52 | test_unit_name_is_valid_one("foo@bar@bar.service", UNIT_NAME_PLAIN, false); | |
53 | test_unit_name_is_valid_one("foo@bar@bar.service", UNIT_NAME_INSTANCE, true); | |
54 | test_unit_name_is_valid_one("foo@bar@bar.service", UNIT_NAME_TEMPLATE, false); | |
55 | test_unit_name_is_valid_one("foo@bar@bar.service", UNIT_NAME_INSTANCE|UNIT_NAME_TEMPLATE, true); | |
56 | ||
57 | test_unit_name_is_valid_one("foo@.service", UNIT_NAME_ANY, true); | |
58 | test_unit_name_is_valid_one("foo@.service", UNIT_NAME_PLAIN, false); | |
59 | test_unit_name_is_valid_one("foo@.service", UNIT_NAME_INSTANCE, false); | |
60 | test_unit_name_is_valid_one("foo@.service", UNIT_NAME_TEMPLATE, true); | |
61 | test_unit_name_is_valid_one("foo@.service", UNIT_NAME_INSTANCE|UNIT_NAME_TEMPLATE, true); | |
62 | test_unit_name_is_valid_one(".test.service", UNIT_NAME_PLAIN, true); | |
63 | test_unit_name_is_valid_one(".test@.service", UNIT_NAME_TEMPLATE, true); | |
64 | test_unit_name_is_valid_one("_strange::::.service", UNIT_NAME_ANY, true); | |
65 | ||
66 | test_unit_name_is_valid_one(".service", UNIT_NAME_ANY, false); | |
67 | test_unit_name_is_valid_one("", UNIT_NAME_ANY, false); | |
68 | test_unit_name_is_valid_one("foo.waldo", UNIT_NAME_ANY, false); | |
69 | test_unit_name_is_valid_one("@.service", UNIT_NAME_ANY, false); | |
70 | test_unit_name_is_valid_one("@piep.service", UNIT_NAME_ANY, false); | |
71 | ||
72 | test_unit_name_is_valid_one("user@1000.slice", UNIT_NAME_ANY, true); | |
73 | test_unit_name_is_valid_one("user@1000.slice", UNIT_NAME_INSTANCE, true); | |
74 | test_unit_name_is_valid_one("user@1000.slice", UNIT_NAME_TEMPLATE, false); | |
642f41a4 ZJS |
75 | |
76 | test_unit_name_is_valid_one("foo@%i.service", UNIT_NAME_ANY, false); | |
77 | test_unit_name_is_valid_one("foo@%i.service", UNIT_NAME_INSTANCE, false); | |
78 | test_unit_name_is_valid_one("foo@%%i.service", UNIT_NAME_INSTANCE, false); | |
79 | test_unit_name_is_valid_one("foo@%%i%f.service", UNIT_NAME_INSTANCE, false); | |
80 | test_unit_name_is_valid_one("foo@%F.service", UNIT_NAME_INSTANCE, false); | |
f9ef25a4 ZJS |
81 | |
82 | test_unit_name_is_valid_one("foo.target.wants/plain.service", UNIT_NAME_ANY, false); | |
83 | test_unit_name_is_valid_one("foo.target.conf/foo.conf", UNIT_NAME_ANY, false); | |
84 | test_unit_name_is_valid_one("foo.target.requires/plain.socket", UNIT_NAME_ANY, false); | |
7410616c | 85 | } |
3251c0d2 | 86 | |
21868586 | 87 | static void test_unit_name_replace_instance_one(const char *pattern, const char *repl, const char *expected, int ret) { |
7410616c LP |
88 | _cleanup_free_ char *t = NULL; |
89 | assert_se(unit_name_replace_instance(pattern, repl, &t) == ret); | |
90 | puts(strna(t)); | |
91 | assert_se(streq_ptr(t, expected)); | |
92 | } | |
3251c0d2 | 93 | |
21868586 | 94 | static void test_unit_name_replace_instance(void) { |
c86ebcf3 ZJS |
95 | log_info("/* %s */", __func__); |
96 | ||
21868586 LP |
97 | test_unit_name_replace_instance_one("foo@.service", "waldo", "foo@waldo.service", 0); |
98 | test_unit_name_replace_instance_one("foo@xyz.service", "waldo", "foo@waldo.service", 0); | |
99 | test_unit_name_replace_instance_one("xyz", "waldo", NULL, -EINVAL); | |
100 | test_unit_name_replace_instance_one("", "waldo", NULL, -EINVAL); | |
101 | test_unit_name_replace_instance_one("foo.service", "waldo", NULL, -EINVAL); | |
102 | test_unit_name_replace_instance_one(".service", "waldo", NULL, -EINVAL); | |
103 | test_unit_name_replace_instance_one("foo@", "waldo", NULL, -EINVAL); | |
104 | test_unit_name_replace_instance_one("@bar", "waldo", NULL, -EINVAL); | |
7410616c | 105 | } |
3251c0d2 | 106 | |
21868586 | 107 | static void test_unit_name_from_path_one(const char *path, const char *suffix, const char *expected, int ret) { |
7410616c | 108 | _cleanup_free_ char *t = NULL; |
3251c0d2 | 109 | |
7410616c LP |
110 | assert_se(unit_name_from_path(path, suffix, &t) == ret); |
111 | puts(strna(t)); | |
112 | assert_se(streq_ptr(t, expected)); | |
3251c0d2 | 113 | |
7410616c LP |
114 | if (t) { |
115 | _cleanup_free_ char *k = NULL; | |
116 | assert_se(unit_name_to_path(t, &k) == 0); | |
117 | puts(strna(k)); | |
945403e6 | 118 | assert_se(path_equal(k, empty_to_root(path))); |
7410616c LP |
119 | } |
120 | } | |
3251c0d2 | 121 | |
21868586 | 122 | static void test_unit_name_from_path(void) { |
c86ebcf3 ZJS |
123 | log_info("/* %s */", __func__); |
124 | ||
21868586 LP |
125 | test_unit_name_from_path_one("/waldo", ".mount", "waldo.mount", 0); |
126 | test_unit_name_from_path_one("/waldo/quuix", ".mount", "waldo-quuix.mount", 0); | |
127 | test_unit_name_from_path_one("/waldo/quuix/", ".mount", "waldo-quuix.mount", 0); | |
128 | test_unit_name_from_path_one("", ".mount", "-.mount", 0); | |
129 | test_unit_name_from_path_one("/", ".mount", "-.mount", 0); | |
130 | test_unit_name_from_path_one("///", ".mount", "-.mount", 0); | |
131 | test_unit_name_from_path_one("/foo/../bar", ".mount", NULL, -EINVAL); | |
4ff361cc | 132 | test_unit_name_from_path_one("/foo/./bar", ".mount", "foo-bar.mount", 0); |
9d5acfab | 133 | test_unit_name_from_path_one("/waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ".mount", NULL, -ENAMETOOLONG); |
7410616c LP |
134 | } |
135 | ||
21868586 | 136 | static void test_unit_name_from_path_instance_one(const char *pattern, const char *path, const char *suffix, const char *expected, int ret) { |
7410616c LP |
137 | _cleanup_free_ char *t = NULL; |
138 | ||
139 | assert_se(unit_name_from_path_instance(pattern, path, suffix, &t) == ret); | |
140 | puts(strna(t)); | |
141 | assert_se(streq_ptr(t, expected)); | |
142 | ||
143 | if (t) { | |
144 | _cleanup_free_ char *k = NULL, *v = NULL; | |
145 | ||
146 | assert_se(unit_name_to_instance(t, &k) > 0); | |
147 | assert_se(unit_name_path_unescape(k, &v) == 0); | |
945403e6 | 148 | assert_se(path_equal(v, empty_to_root(path))); |
3251c0d2 | 149 | } |
7410616c | 150 | } |
3251c0d2 | 151 | |
21868586 | 152 | static void test_unit_name_from_path_instance(void) { |
c86ebcf3 | 153 | log_info("/* %s */", __func__); |
b0193f1c | 154 | |
21868586 LP |
155 | test_unit_name_from_path_instance_one("waldo", "/waldo", ".mount", "waldo@waldo.mount", 0); |
156 | test_unit_name_from_path_instance_one("waldo", "/waldo////quuix////", ".mount", "waldo@waldo-quuix.mount", 0); | |
157 | test_unit_name_from_path_instance_one("waldo", "/", ".mount", "waldo@-.mount", 0); | |
158 | test_unit_name_from_path_instance_one("waldo", "", ".mount", "waldo@-.mount", 0); | |
159 | test_unit_name_from_path_instance_one("waldo", "///", ".mount", "waldo@-.mount", 0); | |
160 | test_unit_name_from_path_instance_one("waldo", "..", ".mount", NULL, -EINVAL); | |
161 | test_unit_name_from_path_instance_one("waldo", "/foo", ".waldi", NULL, -EINVAL); | |
162 | test_unit_name_from_path_instance_one("wa--ldo", "/--", ".mount", "wa--ldo@\\x2d\\x2d.mount", 0); | |
9d5acfab | 163 | test_unit_name_from_path_instance_one("waldoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "/waldo", ".mount", NULL, -ENAMETOOLONG); |
7410616c LP |
164 | } |
165 | ||
21868586 | 166 | static void test_unit_name_to_path_one(const char *unit, const char *path, int ret) { |
7410616c LP |
167 | _cleanup_free_ char *p = NULL; |
168 | ||
169 | assert_se(unit_name_to_path(unit, &p) == ret); | |
170 | assert_se(streq_ptr(path, p)); | |
171 | } | |
172 | ||
21868586 | 173 | static void test_unit_name_to_path(void) { |
c86ebcf3 ZJS |
174 | log_info("/* %s */", __func__); |
175 | ||
21868586 LP |
176 | test_unit_name_to_path_one("home.mount", "/home", 0); |
177 | test_unit_name_to_path_one("home-lennart.mount", "/home/lennart", 0); | |
178 | test_unit_name_to_path_one("home-lennart-.mount", NULL, -EINVAL); | |
179 | test_unit_name_to_path_one("-home-lennart.mount", NULL, -EINVAL); | |
180 | test_unit_name_to_path_one("-home--lennart.mount", NULL, -EINVAL); | |
181 | test_unit_name_to_path_one("home-..-lennart.mount", NULL, -EINVAL); | |
182 | test_unit_name_to_path_one("", NULL, -EINVAL); | |
183 | test_unit_name_to_path_one("home/foo", NULL, -EINVAL); | |
7410616c LP |
184 | } |
185 | ||
37cbc1d5 | 186 | static void test_unit_name_mangle_one(bool allow_globs, const char *pattern, const char *expect, int ret) { |
7410616c LP |
187 | _cleanup_free_ char *t = NULL; |
188 | ||
37cbc1d5 | 189 | assert_se(unit_name_mangle(pattern, (allow_globs * UNIT_NAME_MANGLE_GLOB) | UNIT_NAME_MANGLE_WARN, &t) == ret); |
7410616c LP |
190 | puts(strna(t)); |
191 | assert_se(streq_ptr(t, expect)); | |
192 | ||
193 | if (t) { | |
194 | _cleanup_free_ char *k = NULL; | |
195 | ||
2aaafcf5 | 196 | assert_se(unit_name_is_valid(t, UNIT_NAME_ANY) || |
37cbc1d5 | 197 | (allow_globs && string_is_glob(t))); |
7410616c | 198 | |
37cbc1d5 | 199 | assert_se(unit_name_mangle(t, (allow_globs * UNIT_NAME_MANGLE_GLOB) | UNIT_NAME_MANGLE_WARN, &k) == 0); |
7410616c LP |
200 | assert_se(streq_ptr(t, k)); |
201 | } | |
202 | } | |
203 | ||
21868586 | 204 | static void test_unit_name_mangle(void) { |
c86ebcf3 ZJS |
205 | log_info("/* %s */", __func__); |
206 | ||
37cbc1d5 ZJS |
207 | test_unit_name_mangle_one(false, "foo.service", "foo.service", 0); |
208 | test_unit_name_mangle_one(false, "/home", "home.mount", 1); | |
209 | test_unit_name_mangle_one(false, "/dev/sda", "dev-sda.device", 1); | |
210 | test_unit_name_mangle_one(false, "üxknürz.service", "\\xc3\\xbcxkn\\xc3\\xbcrz.service", 1); | |
211 | test_unit_name_mangle_one(false, "foobar-meh...waldi.service", "foobar-meh...waldi.service", 0); | |
212 | test_unit_name_mangle_one(false, "_____####----.....service", "_____\\x23\\x23\\x23\\x23----.....service", 1); | |
213 | test_unit_name_mangle_one(false, "_____##@;;;,,,##----.....service", "_____\\x23\\x23@\\x3b\\x3b\\x3b\\x2c\\x2c\\x2c\\x23\\x23----.....service", 1); | |
214 | test_unit_name_mangle_one(false, "xxx@@@@/////\\\\\\\\\\yyy.service", "xxx@@@@-----\\\\\\\\\\yyy.service", 1); | |
215 | test_unit_name_mangle_one(false, "", NULL, -EINVAL); | |
216 | ||
217 | test_unit_name_mangle_one(true, "foo.service", "foo.service", 0); | |
218 | test_unit_name_mangle_one(true, "foo", "foo.service", 1); | |
219 | test_unit_name_mangle_one(true, "foo*", "foo*", 0); | |
220 | test_unit_name_mangle_one(true, "ü*", "\\xc3\\xbc*", 1); | |
1682ff60 ZJS |
221 | } |
222 | ||
49e5de64 | 223 | static int test_unit_printf(void) { |
b75f0c69 | 224 | _cleanup_free_ char *mid = NULL, *bid = NULL, *host = NULL, *gid = NULL, *group = NULL, *uid = NULL, *user = NULL, *shell = NULL, *home = NULL; |
c70cac54 | 225 | _cleanup_(manager_freep) Manager *m = NULL; |
250e9fad | 226 | Unit *u; |
c5e33bf8 | 227 | int r; |
1682ff60 | 228 | |
c86ebcf3 ZJS |
229 | log_info("/* %s */", __func__); |
230 | ||
de61a04b LP |
231 | assert_se(specifier_machine_id('m', NULL, NULL, NULL, &mid) >= 0 && mid); |
232 | assert_se(specifier_boot_id('b', NULL, NULL, NULL, &bid) >= 0 && bid); | |
79413b67 | 233 | assert_se(host = gethostname_malloc()); |
36444d22 | 234 | assert_se(user = uid_to_name(getuid())); |
b75f0c69 | 235 | assert_se(group = gid_to_name(getgid())); |
79413b67 | 236 | assert_se(asprintf(&uid, UID_FMT, getuid())); |
b75f0c69 | 237 | assert_se(asprintf(&gid, UID_FMT, getgid())); |
79413b67 LP |
238 | assert_se(get_home_dir(&home) >= 0); |
239 | assert_se(get_shell(&shell) >= 0); | |
1682ff60 | 240 | |
e0a3da1f | 241 | r = manager_new(UNIT_FILE_USER, MANAGER_TEST_RUN_MINIMAL, &m); |
5eecb103 | 242 | if (manager_errno_skip_test(r)) |
730d989a | 243 | return log_tests_skipped_errno(r, "manager_new"); |
bdf7026e | 244 | assert_se(r == 0); |
1682ff60 ZJS |
245 | |
246 | #define expect(unit, pattern, expected) \ | |
247 | { \ | |
fa3cd739 | 248 | char *e; \ |
e1ba963f | 249 | _cleanup_free_ char *t = NULL; \ |
19f6d710 | 250 | assert_se(unit_full_printf(unit, pattern, &t) >= 0); \ |
c5e33bf8 | 251 | printf("result: %s\nexpect: %s\n", t, expected); \ |
fa3cd739 | 252 | if ((e = endswith(expected, "*"))) \ |
bdf7026e | 253 | assert_se(strncmp(t, e, e-expected)); \ |
fa3cd739 | 254 | else \ |
bdf7026e | 255 | assert_se(streq(t, expected)); \ |
1682ff60 ZJS |
256 | } |
257 | ||
1682ff60 ZJS |
258 | assert_se(u = unit_new(m, sizeof(Service))); |
259 | assert_se(unit_add_name(u, "blah.service") == 0); | |
260 | assert_se(unit_add_name(u, "blah.service") == 0); | |
261 | ||
262 | /* general tests */ | |
263 | expect(u, "%%", "%"); | |
264 | expect(u, "%%s", "%s"); | |
038492ae FS |
265 | expect(u, "%,", "%,"); |
266 | expect(u, "%", "%"); | |
1682ff60 ZJS |
267 | |
268 | /* normal unit */ | |
269 | expect(u, "%n", "blah.service"); | |
14b0295f | 270 | expect(u, "%f", "/blah"); |
1682ff60 ZJS |
271 | expect(u, "%N", "blah"); |
272 | expect(u, "%p", "blah"); | |
273 | expect(u, "%P", "blah"); | |
274 | expect(u, "%i", ""); | |
250e9fad ZJS |
275 | expect(u, "%I", ""); |
276 | expect(u, "%j", "blah"); | |
277 | expect(u, "%J", "blah"); | |
b75f0c69 DC |
278 | expect(u, "%g", group); |
279 | expect(u, "%G", gid); | |
79413b67 LP |
280 | expect(u, "%u", user); |
281 | expect(u, "%U", uid); | |
282 | expect(u, "%h", home); | |
1682ff60 ZJS |
283 | expect(u, "%m", mid); |
284 | expect(u, "%b", bid); | |
285 | expect(u, "%H", host); | |
fa3cd739 | 286 | expect(u, "%t", "/run/user/*"); |
1682ff60 ZJS |
287 | |
288 | /* templated */ | |
250e9fad ZJS |
289 | assert_se(u = unit_new(m, sizeof(Service))); |
290 | assert_se(unit_add_name(u, "blah@foo-foo.service") == 0); | |
291 | assert_se(unit_add_name(u, "blah@foo-foo.service") == 0); | |
292 | ||
293 | expect(u, "%n", "blah@foo-foo.service"); | |
294 | expect(u, "%N", "blah@foo-foo"); | |
295 | expect(u, "%f", "/foo/foo"); | |
296 | expect(u, "%p", "blah"); | |
297 | expect(u, "%P", "blah"); | |
298 | expect(u, "%i", "foo-foo"); | |
299 | expect(u, "%I", "foo/foo"); | |
300 | expect(u, "%j", "blah"); | |
301 | expect(u, "%J", "blah"); | |
b75f0c69 DC |
302 | expect(u, "%g", group); |
303 | expect(u, "%G", gid); | |
250e9fad ZJS |
304 | expect(u, "%u", user); |
305 | expect(u, "%U", uid); | |
306 | expect(u, "%h", home); | |
307 | expect(u, "%m", mid); | |
308 | expect(u, "%b", bid); | |
309 | expect(u, "%H", host); | |
310 | expect(u, "%t", "/run/user/*"); | |
311 | ||
312 | /* templated with components */ | |
313 | assert_se(u = unit_new(m, sizeof(Slice))); | |
314 | assert_se(unit_add_name(u, "blah-blah\\x2d.slice") == 0); | |
315 | ||
316 | expect(u, "%n", "blah-blah\\x2d.slice"); | |
317 | expect(u, "%N", "blah-blah\\x2d"); | |
318 | expect(u, "%f", "/blah/blah-"); | |
319 | expect(u, "%p", "blah-blah\\x2d"); | |
320 | expect(u, "%P", "blah/blah-"); | |
321 | expect(u, "%i", ""); | |
322 | expect(u, "%I", ""); | |
323 | expect(u, "%j", "blah\\x2d"); | |
324 | expect(u, "%J", "blah-"); | |
325 | ||
fee0a921 | 326 | #undef expect |
b463b813 | 327 | |
49e5de64 | 328 | return 0; |
1682ff60 ZJS |
329 | } |
330 | ||
068ae9fb | 331 | static void test_unit_instance_is_valid(void) { |
c86ebcf3 ZJS |
332 | log_info("/* %s */", __func__); |
333 | ||
068ae9fb RC |
334 | assert_se(unit_instance_is_valid("fooBar")); |
335 | assert_se(unit_instance_is_valid("foo-bar")); | |
336 | assert_se(unit_instance_is_valid("foo.stUff")); | |
337 | assert_se(unit_instance_is_valid("fOo123.stuff")); | |
338 | assert_se(unit_instance_is_valid("@f_oo123.Stuff")); | |
339 | ||
340 | assert_se(!unit_instance_is_valid("$¢£")); | |
341 | assert_se(!unit_instance_is_valid("")); | |
342 | assert_se(!unit_instance_is_valid("foo bar")); | |
343 | assert_se(!unit_instance_is_valid("foo/bar")); | |
344 | } | |
345 | ||
346 | static void test_unit_prefix_is_valid(void) { | |
c86ebcf3 ZJS |
347 | log_info("/* %s */", __func__); |
348 | ||
068ae9fb RC |
349 | assert_se(unit_prefix_is_valid("fooBar")); |
350 | assert_se(unit_prefix_is_valid("foo-bar")); | |
351 | assert_se(unit_prefix_is_valid("foo.stUff")); | |
352 | assert_se(unit_prefix_is_valid("fOo123.stuff")); | |
353 | assert_se(unit_prefix_is_valid("foo123.Stuff")); | |
354 | ||
355 | assert_se(!unit_prefix_is_valid("$¢£")); | |
356 | assert_se(!unit_prefix_is_valid("")); | |
357 | assert_se(!unit_prefix_is_valid("foo bar")); | |
358 | assert_se(!unit_prefix_is_valid("foo/bar")); | |
359 | assert_se(!unit_prefix_is_valid("@foo-bar")); | |
360 | } | |
361 | ||
362 | static void test_unit_name_change_suffix(void) { | |
7410616c | 363 | char *t; |
068ae9fb | 364 | |
c86ebcf3 ZJS |
365 | log_info("/* %s */", __func__); |
366 | ||
7410616c LP |
367 | assert_se(unit_name_change_suffix("foo.mount", ".service", &t) == 0); |
368 | assert_se(streq(t, "foo.service")); | |
369 | free(t); | |
068ae9fb | 370 | |
7410616c LP |
371 | assert_se(unit_name_change_suffix("foo@stuff.service", ".socket", &t) == 0); |
372 | assert_se(streq(t, "foo@stuff.socket")); | |
373 | free(t); | |
068ae9fb RC |
374 | } |
375 | ||
376 | static void test_unit_name_build(void) { | |
7410616c | 377 | char *t; |
068ae9fb | 378 | |
c86ebcf3 ZJS |
379 | log_info("/* %s */", __func__); |
380 | ||
7410616c LP |
381 | assert_se(unit_name_build("foo", "bar", ".service", &t) == 0); |
382 | assert_se(streq(t, "foo@bar.service")); | |
383 | free(t); | |
068ae9fb | 384 | |
7410616c LP |
385 | assert_se(unit_name_build("fo0-stUff_b", "bar", ".mount", &t) == 0); |
386 | assert_se(streq(t, "fo0-stUff_b@bar.mount")); | |
387 | free(t); | |
068ae9fb | 388 | |
7410616c LP |
389 | assert_se(unit_name_build("foo", NULL, ".service", &t) == 0); |
390 | assert_se(streq(t, "foo.service")); | |
391 | free(t); | |
068ae9fb RC |
392 | } |
393 | ||
93c47472 | 394 | static void test_slice_name_is_valid(void) { |
c86ebcf3 ZJS |
395 | log_info("/* %s */", __func__); |
396 | ||
0682ed5c ZJS |
397 | assert_se( slice_name_is_valid(SPECIAL_ROOT_SLICE)); |
398 | assert_se( slice_name_is_valid("foo.slice")); | |
399 | assert_se( slice_name_is_valid("foo-bar.slice")); | |
400 | assert_se( slice_name_is_valid("foo-bar-baz.slice")); | |
93c47472 LP |
401 | assert_se(!slice_name_is_valid("-foo-bar-baz.slice")); |
402 | assert_se(!slice_name_is_valid("foo-bar-baz-.slice")); | |
403 | assert_se(!slice_name_is_valid("-foo-bar-baz-.slice")); | |
404 | assert_se(!slice_name_is_valid("foo-bar--baz.slice")); | |
405 | assert_se(!slice_name_is_valid("foo--bar--baz.slice")); | |
406 | assert_se(!slice_name_is_valid(".slice")); | |
407 | assert_se(!slice_name_is_valid("")); | |
408 | assert_se(!slice_name_is_valid("foo.service")); | |
0682ed5c ZJS |
409 | |
410 | assert_se(!slice_name_is_valid("foo@.slice")); | |
411 | assert_se(!slice_name_is_valid("foo@bar.slice")); | |
412 | assert_se(!slice_name_is_valid("foo-bar@baz.slice")); | |
413 | assert_se(!slice_name_is_valid("foo@bar@baz.slice")); | |
414 | assert_se(!slice_name_is_valid("foo@bar-baz.slice")); | |
415 | assert_se(!slice_name_is_valid("-foo-bar-baz@.slice")); | |
416 | assert_se(!slice_name_is_valid("foo-bar-baz@-.slice")); | |
417 | assert_se(!slice_name_is_valid("foo-bar-baz@a--b.slice")); | |
418 | assert_se(!slice_name_is_valid("-foo-bar-baz@-.slice")); | |
419 | assert_se(!slice_name_is_valid("foo-bar--baz@.slice")); | |
420 | assert_se(!slice_name_is_valid("foo--bar--baz@.slice")); | |
421 | assert_se(!slice_name_is_valid("@.slice")); | |
422 | assert_se(!slice_name_is_valid("foo@bar.service")); | |
93c47472 LP |
423 | } |
424 | ||
068ae9fb RC |
425 | static void test_build_subslice(void) { |
426 | char *a; | |
427 | char *b; | |
428 | ||
c86ebcf3 ZJS |
429 | log_info("/* %s */", __func__); |
430 | ||
e5af6e0e | 431 | assert_se(slice_build_subslice(SPECIAL_ROOT_SLICE, "foo", &a) >= 0); |
7410616c | 432 | assert_se(slice_build_subslice(a, "bar", &b) >= 0); |
068ae9fb | 433 | free(a); |
7410616c | 434 | assert_se(slice_build_subslice(b, "barfoo", &a) >= 0); |
068ae9fb | 435 | free(b); |
7410616c | 436 | assert_se(slice_build_subslice(a, "foobar", &b) >= 0); |
068ae9fb RC |
437 | free(a); |
438 | assert_se(streq(b, "foo-bar-barfoo-foobar.slice")); | |
439 | free(b); | |
440 | ||
7410616c LP |
441 | assert_se(slice_build_subslice("foo.service", "bar", &a) < 0); |
442 | assert_se(slice_build_subslice("foo", "bar", &a) < 0); | |
068ae9fb RC |
443 | } |
444 | ||
93c47472 LP |
445 | static void test_build_parent_slice_one(const char *name, const char *expect, int ret) { |
446 | _cleanup_free_ char *s = NULL; | |
447 | ||
448 | assert_se(slice_build_parent_slice(name, &s) == ret); | |
449 | assert_se(streq_ptr(s, expect)); | |
450 | } | |
451 | ||
452 | static void test_build_parent_slice(void) { | |
c86ebcf3 ZJS |
453 | log_info("/* %s */", __func__); |
454 | ||
e5af6e0e ZJS |
455 | test_build_parent_slice_one(SPECIAL_ROOT_SLICE, NULL, 0); |
456 | test_build_parent_slice_one("foo.slice", SPECIAL_ROOT_SLICE, 1); | |
93c47472 LP |
457 | test_build_parent_slice_one("foo-bar.slice", "foo.slice", 1); |
458 | test_build_parent_slice_one("foo-bar-baz.slice", "foo-bar.slice", 1); | |
459 | test_build_parent_slice_one("foo-bar--baz.slice", NULL, -EINVAL); | |
460 | test_build_parent_slice_one("-foo-bar.slice", NULL, -EINVAL); | |
461 | test_build_parent_slice_one("foo-bar-.slice", NULL, -EINVAL); | |
462 | test_build_parent_slice_one("foo-bar.service", NULL, -EINVAL); | |
463 | test_build_parent_slice_one(".slice", NULL, -EINVAL); | |
0682ed5c ZJS |
464 | test_build_parent_slice_one("foo@bar.slice", NULL, -EINVAL); |
465 | test_build_parent_slice_one("foo-bar@baz.slice", NULL, -EINVAL); | |
466 | test_build_parent_slice_one("foo-bar--@baz.slice", NULL, -EINVAL); | |
467 | test_build_parent_slice_one("-foo-bar@bar.slice", NULL, -EINVAL); | |
468 | test_build_parent_slice_one("foo-bar@-.slice", NULL, -EINVAL); | |
469 | test_build_parent_slice_one("foo@bar.service", NULL, -EINVAL); | |
470 | test_build_parent_slice_one("@.slice", NULL, -EINVAL); | |
93c47472 LP |
471 | } |
472 | ||
068ae9fb | 473 | static void test_unit_name_to_instance(void) { |
73ce91a0 | 474 | UnitNameFlags r; |
068ae9fb | 475 | char *instance; |
068ae9fb | 476 | |
c86ebcf3 ZJS |
477 | log_info("/* %s */", __func__); |
478 | ||
068ae9fb | 479 | r = unit_name_to_instance("foo@bar.service", &instance); |
b124d3f2 | 480 | assert_se(r == UNIT_NAME_INSTANCE); |
068ae9fb RC |
481 | assert_se(streq(instance, "bar")); |
482 | free(instance); | |
483 | ||
fee0a921 | 484 | r = unit_name_to_instance("foo@.service", &instance); |
b124d3f2 | 485 | assert_se(r == UNIT_NAME_TEMPLATE); |
fee0a921 RC |
486 | assert_se(streq(instance, "")); |
487 | free(instance); | |
488 | ||
7410616c | 489 | r = unit_name_to_instance("fo0-stUff_b@b.service", &instance); |
b124d3f2 | 490 | assert_se(r == UNIT_NAME_INSTANCE); |
068ae9fb RC |
491 | assert_se(streq(instance, "b")); |
492 | free(instance); | |
493 | ||
7410616c | 494 | r = unit_name_to_instance("foo.service", &instance); |
b124d3f2 | 495 | assert_se(r == UNIT_NAME_PLAIN); |
068ae9fb RC |
496 | assert_se(!instance); |
497 | ||
498 | r = unit_name_to_instance("fooj@unk", &instance); | |
499 | assert_se(r < 0); | |
b124d3f2 | 500 | assert_se(!instance); |
fee0a921 RC |
501 | |
502 | r = unit_name_to_instance("foo@", &instance); | |
503 | assert_se(r < 0); | |
b124d3f2 | 504 | assert_se(!instance); |
068ae9fb RC |
505 | } |
506 | ||
507 | static void test_unit_name_escape(void) { | |
508 | _cleanup_free_ char *r; | |
509 | ||
c86ebcf3 ZJS |
510 | log_info("/* %s */", __func__); |
511 | ||
068ae9fb RC |
512 | r = unit_name_escape("ab+-c.a/bc@foo.service"); |
513 | assert_se(r); | |
514 | assert_se(streq(r, "ab\\x2b\\x2dc.a-bc\\x40foo.service")); | |
515 | } | |
516 | ||
7410616c LP |
517 | static void test_u_n_t_one(const char *name, const char *expected, int ret) { |
518 | _cleanup_free_ char *f = NULL; | |
fee0a921 | 519 | |
7410616c LP |
520 | assert_se(unit_name_template(name, &f) == ret); |
521 | printf("got: %s, expected: %s\n", strna(f), strna(expected)); | |
522 | assert_se(streq_ptr(f, expected)); | |
523 | } | |
524 | ||
525 | static void test_unit_name_template(void) { | |
c86ebcf3 ZJS |
526 | log_info("/* %s */", __func__); |
527 | ||
7410616c LP |
528 | test_u_n_t_one("foo@bar.service", "foo@.service", 0); |
529 | test_u_n_t_one("foo.mount", NULL, -EINVAL); | |
fee0a921 RC |
530 | } |
531 | ||
93c47472 LP |
532 | static void test_unit_name_path_unescape_one(const char *name, const char *path, int ret) { |
533 | _cleanup_free_ char *p = NULL; | |
534 | ||
535 | assert_se(unit_name_path_unescape(name, &p) == ret); | |
536 | assert_se(streq_ptr(path, p)); | |
537 | } | |
538 | ||
539 | static void test_unit_name_path_unescape(void) { | |
c86ebcf3 | 540 | log_info("/* %s */", __func__); |
93c47472 LP |
541 | |
542 | test_unit_name_path_unescape_one("foo", "/foo", 0); | |
543 | test_unit_name_path_unescape_one("foo-bar", "/foo/bar", 0); | |
544 | test_unit_name_path_unescape_one("foo-.bar", "/foo/.bar", 0); | |
545 | test_unit_name_path_unescape_one("foo-bar-baz", "/foo/bar/baz", 0); | |
546 | test_unit_name_path_unescape_one("-", "/", 0); | |
547 | test_unit_name_path_unescape_one("--", NULL, -EINVAL); | |
548 | test_unit_name_path_unescape_one("-foo-bar", NULL, -EINVAL); | |
549 | test_unit_name_path_unescape_one("foo--bar", NULL, -EINVAL); | |
550 | test_unit_name_path_unescape_one("foo-bar-", NULL, -EINVAL); | |
551 | test_unit_name_path_unescape_one(".-bar", NULL, -EINVAL); | |
552 | test_unit_name_path_unescape_one("foo-..", NULL, -EINVAL); | |
553 | test_unit_name_path_unescape_one("", NULL, -EINVAL); | |
554 | } | |
555 | ||
72406c2f LP |
556 | static void test_unit_name_to_prefix_one(const char *input, int ret, const char *output) { |
557 | _cleanup_free_ char *k = NULL; | |
558 | ||
559 | assert_se(unit_name_to_prefix(input, &k) == ret); | |
560 | assert_se(streq_ptr(k, output)); | |
561 | } | |
562 | ||
563 | static void test_unit_name_to_prefix(void) { | |
c86ebcf3 ZJS |
564 | log_info("/* %s */", __func__); |
565 | ||
72406c2f LP |
566 | test_unit_name_to_prefix_one("foobar.service", 0, "foobar"); |
567 | test_unit_name_to_prefix_one("", -EINVAL, NULL); | |
568 | test_unit_name_to_prefix_one("foobar", -EINVAL, NULL); | |
569 | test_unit_name_to_prefix_one(".service", -EINVAL, NULL); | |
570 | test_unit_name_to_prefix_one("quux.quux", -EINVAL, NULL); | |
571 | test_unit_name_to_prefix_one("quux.mount", 0, "quux"); | |
572 | test_unit_name_to_prefix_one("quux-quux.mount", 0, "quux-quux"); | |
573 | test_unit_name_to_prefix_one("quux@bar.mount", 0, "quux"); | |
574 | test_unit_name_to_prefix_one("quux-@.mount", 0, "quux-"); | |
575 | test_unit_name_to_prefix_one("@.mount", -EINVAL, NULL); | |
576 | } | |
577 | ||
b4152e9b YW |
578 | static void test_unit_name_from_dbus_path_one(const char *input, int ret, const char *output) { |
579 | _cleanup_free_ char *k = NULL; | |
580 | ||
581 | assert_se(unit_name_from_dbus_path(input, &k) == ret); | |
582 | assert_se(streq_ptr(k, output)); | |
583 | } | |
584 | ||
585 | static void test_unit_name_from_dbus_path(void) { | |
c86ebcf3 ZJS |
586 | log_info("/* %s */", __func__); |
587 | ||
b4152e9b YW |
588 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dbus_2esocket", 0, "dbus.socket"); |
589 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/_2d_2emount", 0, "-.mount"); | |
590 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/_2d_2eslice", 0, "-.slice"); | |
591 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/accounts_2ddaemon_2eservice", 0, "accounts-daemon.service"); | |
592 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/auditd_2eservice", 0, "auditd.service"); | |
593 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/basic_2etarget", 0, "basic.target"); | |
594 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/bluetooth_2etarget", 0, "bluetooth.target"); | |
595 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/boot_2eautomount", 0, "boot.automount"); | |
596 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/boot_2emount", 0, "boot.mount"); | |
597 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/btrfs_2emount", 0, "btrfs.mount"); | |
598 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/cryptsetup_2dpre_2etarget", 0, "cryptsetup-pre.target"); | |
599 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/cryptsetup_2etarget", 0, "cryptsetup.target"); | |
600 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dbus_2eservice", 0, "dbus.service"); | |
601 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dbus_2esocket", 0, "dbus.socket"); | |
602 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dcdrom_2edevice", 0, "dev-cdrom.device"); | |
603 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M120G2GC_5fCVPO044405HH120QGN_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M120G2GC_CVPO044405HH120QGN.device"); | |
604 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M120G2GC_5fCVPO044405HH120QGN_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M120G2GC_CVPO044405HH120QGN\\x2dpart1.device"); | |
605 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M160G2GC_5fCVPO951003RY160AGN_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M160G2GC_CVPO951003RY160AGN.device"); | |
606 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M160G2GC_5fCVPO951003RY160AGN_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M160G2GC_CVPO951003RY160AGN\\x2dpart1.device"); | |
607 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M160G2GC_5fCVPO951003RY160AGN_5cx2dpart2_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M160G2GC_CVPO951003RY160AGN\\x2dpart2.device"); | |
608 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dINTEL_5fSSDSA2M160G2GC_5fCVPO951003RY160AGN_5cx2dpart3_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dINTEL_SSDSA2M160G2GC_CVPO951003RY160AGN\\x2dpart3.device"); | |
609 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2data_5cx2dTSSTcorp_5fCDDVDW_5fTS_5cx2dL633C_5fR6176GLZB14646_2edevice", 0, "dev-disk-by\\x2did-ata\\x2dTSSTcorp_CDDVDW_TS\\x2dL633C_R6176GLZB14646.device"); | |
610 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x50015179591245ae_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x50015179591245ae.device"); | |
611 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x50015179591245ae_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x50015179591245ae\\x2dpart1.device"); | |
612 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x50015179591245ae_5cx2dpart2_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x50015179591245ae\\x2dpart2.device"); | |
613 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x50015179591245ae_5cx2dpart3_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x50015179591245ae\\x2dpart3.device"); | |
614 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x500151795946eab5_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x500151795946eab5.device"); | |
615 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2did_2dwwn_5cx2d0x500151795946eab5_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2did-wwn\\x2d0x500151795946eab5\\x2dpart1.device"); | |
616 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dlabel_2d_5cxe3_5cx82_5cxb7_5cxe3_5cx82_5cxb9_5cxe3_5cx83_5cx86_5cxe3_5cx83_5cxa0_5cxe3_5cx81_5cxa7_5cxe4_5cxba_5cx88_5cxe7_5cxb4_5cx84_5cxe6_5cxb8_5cx88_5cxe3_5cx81_5cxbf_2edevice", 0, "dev-disk-by\\x2dlabel-\\xe3\\x82\\xb7\\xe3\\x82\\xb9\\xe3\\x83\\x86\\xe3\\x83\\xa0\\xe3\\x81\\xa7\\xe4\\xba\\x88\\xe7\\xb4\\x84\\xe6\\xb8\\x88\\xe3\\x81\\xbf.device"); | |
617 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpartuuid_2d59834e50_5cx2d01_2edevice", 0, "dev-disk-by\\x2dpartuuid-59834e50\\x2d01.device"); | |
618 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpartuuid_2d63e2a7b3_5cx2d01_2edevice", 0, "dev-disk-by\\x2dpartuuid-63e2a7b3\\x2d01.device"); | |
619 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpartuuid_2d63e2a7b3_5cx2d02_2edevice", 0, "dev-disk-by\\x2dpartuuid-63e2a7b3\\x2d02.device"); | |
620 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpartuuid_2d63e2a7b3_5cx2d03_2edevice", 0, "dev-disk-by\\x2dpartuuid-63e2a7b3\\x2d03.device"); | |
621 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d1_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d1.device"); | |
622 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d1_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d1\\x2dpart1.device"); | |
623 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d1_5cx2dpart2_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d1\\x2dpart2.device"); | |
624 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d1_5cx2dpart3_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d1\\x2dpart3.device"); | |
625 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d2_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d2.device"); | |
626 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d6_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d6.device"); | |
627 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2dpath_2dpci_5cx2d0000_3a00_3a1f_2e2_5cx2data_5cx2d6_5cx2dpart1_2edevice", 0, "dev-disk-by\\x2dpath-pci\\x2d0000:00:1f.2\\x2data\\x2d6\\x2dpart1.device"); | |
628 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2duuid_2d1A34E3F034E3CD37_2edevice", 0, "dev-disk-by\\x2duuid-1A34E3F034E3CD37.device"); | |
629 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2duuid_2dB670EBFE70EBC2EB_2edevice", 0, "dev-disk-by\\x2duuid-B670EBFE70EBC2EB.device"); | |
630 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2duuid_2dFCD4F509D4F4C6C4_2edevice", 0, "dev-disk-by\\x2duuid-FCD4F509D4F4C6C4.device"); | |
631 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2ddisk_2dby_5cx2duuid_2db49ead57_5cx2d907c_5cx2d446c_5cx2db405_5cx2d5ca6cd865f5e_2edevice", 0, "dev-disk-by\\x2duuid-b49ead57\\x2d907c\\x2d446c\\x2db405\\x2d5ca6cd865f5e.device"); | |
632 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dhugepages_2emount", 0, "dev-hugepages.mount"); | |
633 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dmqueue_2emount", 0, "dev-mqueue.mount"); | |
634 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2drfkill_2edevice", 0, "dev-rfkill.device"); | |
635 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsda1_2edevice", 0, "dev-sda1.device"); | |
636 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsda2_2edevice", 0, "dev-sda2.device"); | |
637 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsda3_2edevice", 0, "dev-sda3.device"); | |
638 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsda_2edevice", 0, "dev-sda.device"); | |
639 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsdb1_2edevice", 0, "dev-sdb1.device"); | |
640 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsdb_2edevice", 0, "dev-sdb.device"); | |
641 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dsr0_2edevice", 0, "dev-sr0.device"); | |
642 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS0_2edevice", 0, "dev-ttyS0.device"); | |
643 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS10_2edevice", 0, "dev-ttyS10.device"); | |
644 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS11_2edevice", 0, "dev-ttyS11.device"); | |
645 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS12_2edevice", 0, "dev-ttyS12.device"); | |
646 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS13_2edevice", 0, "dev-ttyS13.device"); | |
647 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS14_2edevice", 0, "dev-ttyS14.device"); | |
648 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS15_2edevice", 0, "dev-ttyS15.device"); | |
649 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS16_2edevice", 0, "dev-ttyS16.device"); | |
650 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS17_2edevice", 0, "dev-ttyS17.device"); | |
651 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS18_2edevice", 0, "dev-ttyS18.device"); | |
652 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS19_2edevice", 0, "dev-ttyS19.device"); | |
653 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS1_2edevice", 0, "dev-ttyS1.device"); | |
654 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS20_2edevice", 0, "dev-ttyS20.device"); | |
655 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS21_2edevice", 0, "dev-ttyS21.device"); | |
656 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS22_2edevice", 0, "dev-ttyS22.device"); | |
657 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS23_2edevice", 0, "dev-ttyS23.device"); | |
658 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS24_2edevice", 0, "dev-ttyS24.device"); | |
659 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS25_2edevice", 0, "dev-ttyS25.device"); | |
660 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS26_2edevice", 0, "dev-ttyS26.device"); | |
661 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS27_2edevice", 0, "dev-ttyS27.device"); | |
662 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS28_2edevice", 0, "dev-ttyS28.device"); | |
663 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS29_2edevice", 0, "dev-ttyS29.device"); | |
664 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS2_2edevice", 0, "dev-ttyS2.device"); | |
665 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS30_2edevice", 0, "dev-ttyS30.device"); | |
666 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS31_2edevice", 0, "dev-ttyS31.device"); | |
667 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS3_2edevice", 0, "dev-ttyS3.device"); | |
668 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS4_2edevice", 0, "dev-ttyS4.device"); | |
669 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS5_2edevice", 0, "dev-ttyS5.device"); | |
670 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS6_2edevice", 0, "dev-ttyS6.device"); | |
671 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS7_2edevice", 0, "dev-ttyS7.device"); | |
672 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS8_2edevice", 0, "dev-ttyS8.device"); | |
673 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dev_2dttyS9_2edevice", 0, "dev-ttyS9.device"); | |
674 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dcmdline_2eservice", 0, "dracut-cmdline.service"); | |
675 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dinitqueue_2eservice", 0, "dracut-initqueue.service"); | |
676 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dmount_2eservice", 0, "dracut-mount.service"); | |
677 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dpre_2dmount_2eservice", 0, "dracut-pre-mount.service"); | |
678 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dpre_2dpivot_2eservice", 0, "dracut-pre-pivot.service"); | |
679 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dpre_2dtrigger_2eservice", 0, "dracut-pre-trigger.service"); | |
680 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dpre_2dudev_2eservice", 0, "dracut-pre-udev.service"); | |
681 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/dracut_2dshutdown_2eservice", 0, "dracut-shutdown.service"); | |
682 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/ebtables_2eservice", 0, "ebtables.service"); | |
683 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/emergency_2eservice", 0, "emergency.service"); | |
684 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/emergency_2etarget", 0, "emergency.target"); | |
685 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/fedora_2dimport_2dstate_2eservice", 0, "fedora-import-state.service"); | |
686 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/fedora_2dreadonly_2eservice", 0, "fedora-readonly.service"); | |
687 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/firewalld_2eservice", 0, "firewalld.service"); | |
688 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/getty_2dpre_2etarget", 0, "getty-pre.target"); | |
689 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/getty_2etarget", 0, "getty.target"); | |
690 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/getty_40tty1_2eservice", 0, "getty@tty1.service"); | |
691 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/graphical_2etarget", 0, "graphical.target"); | |
692 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/home_2emount", 0, "home.mount"); | |
693 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/init_2escope", 0, "init.scope"); | |
694 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dcleanup_2eservice", 0, "initrd-cleanup.service"); | |
695 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dfs_2etarget", 0, "initrd-fs.target"); | |
696 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dparse_2detc_2eservice", 0, "initrd-parse-etc.service"); | |
697 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2droot_2ddevice_2etarget", 0, "initrd-root-device.target"); | |
698 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2droot_2dfs_2etarget", 0, "initrd-root-fs.target"); | |
699 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dswitch_2droot_2eservice", 0, "initrd-switch-root.service"); | |
700 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dswitch_2droot_2etarget", 0, "initrd-switch-root.target"); | |
701 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2dudevadm_2dcleanup_2ddb_2eservice", 0, "initrd-udevadm-cleanup-db.service"); | |
702 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/initrd_2etarget", 0, "initrd.target"); | |
703 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/ip6tables_2eservice", 0, "ip6tables.service"); | |
704 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/ipset_2eservice", 0, "ipset.service"); | |
705 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/iptables_2eservice", 0, "iptables.service"); | |
706 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/irqbalance_2eservice", 0, "irqbalance.service"); | |
707 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/kmod_2dstatic_2dnodes_2eservice", 0, "kmod-static-nodes.service"); | |
708 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/ldconfig_2eservice", 0, "ldconfig.service"); | |
709 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/lightdm_2eservice", 0, "lightdm.service"); | |
710 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/livesys_2dlate_2eservice", 0, "livesys-late.service"); | |
711 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/lm_5fsensors_2eservice", 0, "lm_sensors.service"); | |
712 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/local_2dfs_2dpre_2etarget", 0, "local-fs-pre.target"); | |
713 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/local_2dfs_2etarget", 0, "local-fs.target"); | |
714 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/machines_2etarget", 0, "machines.target"); | |
715 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/mcelog_2eservice", 0, "mcelog.service"); | |
716 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/multi_2duser_2etarget", 0, "multi-user.target"); | |
717 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/network_2dpre_2etarget", 0, "network-pre.target"); | |
718 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/network_2etarget", 0, "network.target"); | |
719 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/nss_2dlookup_2etarget", 0, "nss-lookup.target"); | |
720 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/nss_2duser_2dlookup_2etarget", 0, "nss-user-lookup.target"); | |
721 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/paths_2etarget", 0, "paths.target"); | |
722 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/plymouth_2dquit_2dwait_2eservice", 0, "plymouth-quit-wait.service"); | |
723 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/plymouth_2dquit_2eservice", 0, "plymouth-quit.service"); | |
724 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/plymouth_2dstart_2eservice", 0, "plymouth-start.service"); | |
725 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/polkit_2eservice", 0, "polkit.service"); | |
726 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount", 0, "proc-sys-fs-binfmt_misc.automount"); | |
727 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2emount", 0, "proc-sys-fs-binfmt_misc.mount"); | |
728 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/rc_2dlocal_2eservice", 0, "rc-local.service"); | |
729 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/remote_2dcryptsetup_2etarget", 0, "remote-cryptsetup.target"); | |
730 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/remote_2dfs_2dpre_2etarget", 0, "remote-fs-pre.target"); | |
731 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/remote_2dfs_2etarget", 0, "remote-fs.target"); | |
732 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/rescue_2eservice", 0, "rescue.service"); | |
733 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/rescue_2etarget", 0, "rescue.target"); | |
734 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/run_2duser_2d1000_2emount", 0, "run-user-1000.mount"); | |
735 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/session_2d2_2escope", 0, "session-2.scope"); | |
736 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/shutdown_2etarget", 0, "shutdown.target"); | |
737 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/slices_2etarget", 0, "slices.target"); | |
738 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/smartd_2eservice", 0, "smartd.service"); | |
739 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sockets_2etarget", 0, "sockets.target"); | |
740 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sound_2etarget", 0, "sound.target"); | |
741 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sshd_2dkeygen_2etarget", 0, "sshd-keygen.target"); | |
742 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sshd_2dkeygen_40ecdsa_2eservice", 0, "sshd-keygen@ecdsa.service"); | |
743 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sshd_2dkeygen_40ed25519_2eservice", 0, "sshd-keygen@ed25519.service"); | |
744 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sshd_2dkeygen_40rsa_2eservice", 0, "sshd-keygen@rsa.service"); | |
745 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sshd_2eservice", 0, "sshd.service"); | |
746 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/swap_2etarget", 0, "swap.target"); | |
747 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a02_2e0_2dbacklight_2dacpi_5fvideo0_2edevice", 0, "sys-devices-pci0000:00-0000:00:02.0-backlight-acpi_video0.device"); | |
748 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a02_2e0_2ddrm_2dcard0_2dcard0_5cx2dLVDS_5cx2d1_2dintel_5fbacklight_2edevice", 0, "sys-devices-pci0000:00-0000:00:02.0-drm-card0-card0\\x2dLVDS\\x2d1-intel_backlight.device"); | |
749 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1a_2e0_2dusb1_2d1_5cx2d1_2d1_5cx2d1_2e6_2d1_5cx2d1_2e6_3a1_2e0_2dbluetooth_2dhci0_2edevice", 0, "sys-devices-pci0000:00-0000:00:1a.0-usb1-1\\x2d1-1\\x2d1.6-1\\x2d1.6:1.0-bluetooth-hci0.device"); | |
750 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1b_2e0_2dsound_2dcard0_2edevice", 0, "sys-devices-pci0000:00-0000:00:1b.0-sound-card0.device"); | |
751 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1c_2e0_2d0000_3a02_3a00_2e0_2dnet_2dwlp2s0_2edevice", 0, "sys-devices-pci0000:00-0000:00:1c.0-0000:02:00.0-net-wlp2s0.device"); | |
752 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1c_2e2_2d0000_3a04_3a00_2e0_2dnet_2denp4s0_2edevice", 0, "sys-devices-pci0000:00-0000:00:1c.2-0000:04:00.0-net-enp4s0.device"); | |
753 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data1_2dhost0_2dtarget0_3a0_3a0_2d0_3a0_3a0_3a0_2dblock_2dsda_2dsda1_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device"); | |
754 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data1_2dhost0_2dtarget0_3a0_3a0_2d0_3a0_3a0_3a0_2dblock_2dsda_2dsda2_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda2.device"); | |
755 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data1_2dhost0_2dtarget0_3a0_3a0_2d0_3a0_3a0_3a0_2dblock_2dsda_2dsda3_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda3.device"); | |
756 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data1_2dhost0_2dtarget0_3a0_3a0_2d0_3a0_3a0_3a0_2dblock_2dsda_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda.device"); | |
757 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data2_2dhost1_2dtarget1_3a0_3a0_2d1_3a0_3a0_3a0_2dblock_2dsr0_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device"); | |
758 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data6_2dhost5_2dtarget5_3a0_3a0_2d5_3a0_3a0_3a0_2dblock_2dsdb_2dsdb1_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata6-host5-target5:0:0-5:0:0:0-block-sdb-sdb1.device"); | |
759 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dpci0000_3a00_2d0000_3a00_3a1f_2e2_2data6_2dhost5_2dtarget5_3a0_3a0_2d5_3a0_3a0_3a0_2dblock_2dsdb_2edevice", 0, "sys-devices-pci0000:00-0000:00:1f.2-ata6-host5-target5:0:0-5:0:0:0-block-sdb.device"); | |
760 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS0_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS0.device"); | |
761 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS10_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS10.device"); | |
762 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS11_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS11.device"); | |
763 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS12_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS12.device"); | |
764 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS13_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS13.device"); | |
765 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS14_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS14.device"); | |
766 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS15_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS15.device"); | |
767 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS16_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS16.device"); | |
768 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS17_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS17.device"); | |
769 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS18_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS18.device"); | |
770 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS19_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS19.device"); | |
771 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS1_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS1.device"); | |
772 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS20_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS20.device"); | |
773 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS21_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS21.device"); | |
774 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS22_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS22.device"); | |
775 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS23_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS23.device"); | |
776 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS24_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS24.device"); | |
777 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS25_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS25.device"); | |
778 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS26_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS26.device"); | |
779 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS27_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS27.device"); | |
780 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS28_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS28.device"); | |
781 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS29_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS29.device"); | |
782 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS2_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS2.device"); | |
783 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS30_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS30.device"); | |
784 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS31_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS31.device"); | |
785 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS3_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS3.device"); | |
786 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS4_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS4.device"); | |
787 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS5_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS5.device"); | |
788 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS6_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS6.device"); | |
789 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS7_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS7.device"); | |
790 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS8_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS8.device"); | |
791 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dplatform_2dserial8250_2dtty_2dttyS9_2edevice", 0, "sys-devices-platform-serial8250-tty-ttyS9.device"); | |
792 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2ddevices_2dvirtual_2dmisc_2drfkill_2edevice", 0, "sys-devices-virtual-misc-rfkill.device"); | |
793 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dfs_2dfuse_2dconnections_2emount", 0, "sys-fs-fuse-connections.mount"); | |
794 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dkernel_2dconfig_2emount", 0, "sys-kernel-config.mount"); | |
795 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dkernel_2ddebug_2emount", 0, "sys-kernel-debug.mount"); | |
796 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dmodule_2dconfigfs_2edevice", 0, "sys-module-configfs.device"); | |
797 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dsubsystem_2dbluetooth_2ddevices_2dhci0_2edevice", 0, "sys-subsystem-bluetooth-devices-hci0.device"); | |
798 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dsubsystem_2dnet_2ddevices_2denp4s0_2edevice", 0, "sys-subsystem-net-devices-enp4s0.device"); | |
799 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sys_2dsubsystem_2dnet_2ddevices_2dwlp2s0_2edevice", 0, "sys-subsystem-net-devices-wlp2s0.device"); | |
800 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sysinit_2etarget", 0, "sysinit.target"); | |
801 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/syslog_2eservice", 0, "syslog.service"); | |
802 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/syslog_2esocket", 0, "syslog.socket"); | |
803 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/syslog_2etarget", 0, "syslog.target"); | |
804 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/sysroot_2emount", 0, "sysroot.mount"); | |
805 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2dgetty_2eslice", 0, "system-getty.slice"); | |
806 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2dsshd_5cx2dkeygen_2eslice", 0, "system-sshd\\x2dkeygen.slice"); | |
807 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2dsystemd_5cx2dbacklight_2eslice", 0, "system-systemd\\x2dbacklight.slice"); | |
808 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2dsystemd_5cx2dcoredump_2eslice", 0, "system-systemd\\x2dcoredump.slice"); | |
809 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2duser_5cx2druntime_5cx2ddir_2eslice", 0, "system-user\\x2druntime\\x2ddir.slice"); | |
810 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/system_2eslice", 0, "system.slice"); | |
811 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dask_2dpassword_2dconsole_2epath", 0, "systemd-ask-password-console.path"); | |
812 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dask_2dpassword_2dconsole_2eservice", 0, "systemd-ask-password-console.service"); | |
813 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dask_2dpassword_2dwall_2epath", 0, "systemd-ask-password-wall.path"); | |
814 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dask_2dpassword_2dwall_2eservice", 0, "systemd-ask-password-wall.service"); | |
815 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dbacklight_40backlight_3aacpi_5fvideo0_2eservice", 0, "systemd-backlight@backlight:acpi_video0.service"); | |
816 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dbacklight_40backlight_3aintel_5fbacklight_2eservice", 0, "systemd-backlight@backlight:intel_backlight.service"); | |
817 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dbinfmt_2eservice", 0, "systemd-binfmt.service"); | |
818 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dcoredump_2esocket", 0, "systemd-coredump.socket"); | |
819 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dcoredump_400_2eservice", 0, "systemd-coredump@0.service"); | |
820 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dfirstboot_2eservice", 0, "systemd-firstboot.service"); | |
5ff8da10 | 821 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dfsck_2droot_2eservice", 0, SPECIAL_FSCK_ROOT_SERVICE); |
b4152e9b YW |
822 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dhwdb_2dupdate_2eservice", 0, "systemd-hwdb-update.service"); |
823 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dinitctl_2eservice", 0, "systemd-initctl.service"); | |
824 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dinitctl_2esocket", 0, "systemd-initctl.socket"); | |
825 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournal_2dcatalog_2dupdate_2eservice", 0, "systemd-journal-catalog-update.service"); | |
826 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournal_2dflush_2eservice", 0, "systemd-journal-flush.service"); | |
827 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournald_2daudit_2esocket", 0, "systemd-journald-audit.socket"); | |
828 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournald_2ddev_2dlog_2esocket", 0, "systemd-journald-dev-log.socket"); | |
829 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournald_2eservice", 0, "systemd-journald.service"); | |
830 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket", 0, "systemd-journald.socket"); | |
831 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dlogind_2eservice", 0, "systemd-logind.service"); | |
832 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dmachine_2did_2dcommit_2eservice", 0, "systemd-machine-id-commit.service"); | |
833 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dmodules_2dload_2eservice", 0, "systemd-modules-load.service"); | |
834 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dnetworkd_2eservice", 0, "systemd-networkd.service"); | |
835 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dnetworkd_2esocket", 0, "systemd-networkd.socket"); | |
836 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2drandom_2dseed_2eservice", 0, "systemd-random-seed.service"); | |
837 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dremount_2dfs_2eservice", 0, "systemd-remount-fs.service"); | |
838 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dresolved_2eservice", 0, "systemd-resolved.service"); | |
839 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2drfkill_2eservice", 0, "systemd-rfkill.service"); | |
840 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2drfkill_2esocket", 0, "systemd-rfkill.socket"); | |
841 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dsysctl_2eservice", 0, "systemd-sysctl.service"); | |
842 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dsysusers_2eservice", 0, "systemd-sysusers.service"); | |
843 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dtimesyncd_2eservice", 0, "systemd-timesyncd.service"); | |
844 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2eservice", 0, "systemd-tmpfiles-clean.service"); | |
845 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer", 0, "systemd-tmpfiles-clean.timer"); | |
846 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dsetup_2ddev_2eservice", 0, "systemd-tmpfiles-setup-dev.service"); | |
847 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dsetup_2eservice", 0, "systemd-tmpfiles-setup.service"); | |
848 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dudev_2dtrigger_2eservice", 0, "systemd-udev-trigger.service"); | |
849 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dudevd_2dcontrol_2esocket", 0, "systemd-udevd-control.socket"); | |
850 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dudevd_2dkernel_2esocket", 0, "systemd-udevd-kernel.socket"); | |
851 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dudevd_2eservice", 0, "systemd-udevd.service"); | |
852 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dupdate_2ddone_2eservice", 0, "systemd-update-done.service"); | |
853 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dupdate_2dutmp_2drunlevel_2eservice", 0, "systemd-update-utmp-runlevel.service"); | |
854 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dupdate_2dutmp_2eservice", 0, "systemd-update-utmp.service"); | |
855 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2duser_2dsessions_2eservice", 0, "systemd-user-sessions.service"); | |
856 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/systemd_2dvconsole_2dsetup_2eservice", 0, "systemd-vconsole-setup.service"); | |
857 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/time_2dsync_2etarget", 0, "time-sync.target"); | |
858 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/timers_2etarget", 0, "timers.target"); | |
859 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/tmp_2emount", 0, "tmp.mount"); | |
860 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/umount_2etarget", 0, "umount.target"); | |
861 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/unbound_2danchor_2eservice", 0, "unbound-anchor.service"); | |
862 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/unbound_2danchor_2etimer", 0, "unbound-anchor.timer"); | |
863 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/upower_2eservice", 0, "upower.service"); | |
864 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/user_2d1000_2eslice", 0, "user-1000.slice"); | |
865 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/user_2druntime_2ddir_401000_2eservice", 0, "user-runtime-dir@1000.service"); | |
866 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/user_2eslice", 0, "user.slice"); | |
867 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/user_401000_2eservice", 0, "user@1000.service"); | |
868 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/usr_2dlocal_2dtexlive_2emount", 0, "usr-local-texlive.mount"); | |
869 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/var_2dlib_2dmachines_2emount", 0, "var-lib-machines.mount"); | |
870 | test_unit_name_from_dbus_path_one("/org/freedesktop/systemd1/unit/wpa_5fsupplicant_2eservice", 0, "wpa_supplicant.service"); | |
871 | } | |
872 | ||
88022148 DDM |
873 | static void test_unit_name_prefix_equal(void) { |
874 | log_info("/* %s */", __func__); | |
875 | ||
876 | assert_se(unit_name_prefix_equal("a.service", "a.service")); | |
877 | assert_se(unit_name_prefix_equal("a.service", "a.mount")); | |
878 | assert_se(unit_name_prefix_equal("a@b.service", "a.service")); | |
879 | assert_se(unit_name_prefix_equal("a@b.service", "a@c.service")); | |
880 | ||
881 | assert_se(!unit_name_prefix_equal("a.service", "b.service")); | |
882 | assert_se(!unit_name_prefix_equal("a.service", "b.mount")); | |
883 | assert_se(!unit_name_prefix_equal("a@a.service", "b.service")); | |
884 | assert_se(!unit_name_prefix_equal("a@a.service", "b@a.service")); | |
885 | assert_se(!unit_name_prefix_equal("a", "b")); | |
886 | assert_se(!unit_name_prefix_equal("a", "a")); | |
887 | } | |
888 | ||
1682ff60 | 889 | int main(int argc, char* argv[]) { |
a04efff8 | 890 | _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL; |
651d47d1 | 891 | int r, rc = 0; |
a04efff8 | 892 | |
6d7c4033 | 893 | test_setup_logging(LOG_INFO); |
a04efff8 | 894 | |
64ad9e08 | 895 | r = enter_cgroup_subroot(NULL); |
317bb217 ZJS |
896 | if (r == -ENOMEDIUM) |
897 | return log_tests_skipped("cgroupfs not available"); | |
8c759b33 | 898 | |
a04efff8 YW |
899 | assert_se(runtime_dir = setup_fake_runtime_dir()); |
900 | ||
7410616c | 901 | test_unit_name_is_valid(); |
21868586 LP |
902 | test_unit_name_replace_instance(); |
903 | test_unit_name_from_path(); | |
904 | test_unit_name_from_path_instance(); | |
905 | test_unit_name_mangle(); | |
906 | test_unit_name_to_path(); | |
143bfdaf | 907 | TEST_REQ_RUNNING_SYSTEMD(rc = test_unit_printf()); |
068ae9fb RC |
908 | test_unit_instance_is_valid(); |
909 | test_unit_prefix_is_valid(); | |
910 | test_unit_name_change_suffix(); | |
911 | test_unit_name_build(); | |
93c47472 | 912 | test_slice_name_is_valid(); |
068ae9fb | 913 | test_build_subslice(); |
93c47472 | 914 | test_build_parent_slice(); |
068ae9fb RC |
915 | test_unit_name_to_instance(); |
916 | test_unit_name_escape(); | |
fee0a921 | 917 | test_unit_name_template(); |
93c47472 | 918 | test_unit_name_path_unescape(); |
72406c2f | 919 | test_unit_name_to_prefix(); |
b4152e9b | 920 | test_unit_name_from_dbus_path(); |
88022148 | 921 | test_unit_name_prefix_equal(); |
068ae9fb | 922 | |
143bfdaf | 923 | return rc; |
b0193f1c | 924 | } |