core: rework logic to drop duplicate and non-existing items from search path

Move this into a function of its own, so that we can run it after we ran the
generators, so that it takes into account removed generator dirs.
This commit is contained in:
Lennart Poettering
2016-04-12 13:43:30 +02:00
parent cd64fd5613
commit a145334304
4 changed files with 100 additions and 17 deletions
+4 -2
View File
@@ -36,8 +36,8 @@ static void test_paths(UnitFileScope scope) {
assert_se(mkdtemp(template));
assert_se(unsetenv("SYSTEMD_UNIT_PATH") == 0);
assert_se(lookup_paths_init(&lp_without_env, scope, NULL) == 0);
assert_se(lookup_paths_init(&lp_without_env, scope, NULL) >= 0);
assert_se(lookup_paths_reduce(&lp_without_env) >= 0);
assert_se(!strv_isempty(lp_without_env.search_path));
systemd_unit_path = strjoina(template, "/systemd-unit-path");
@@ -45,6 +45,8 @@ static void test_paths(UnitFileScope scope) {
assert_se(lookup_paths_init(&lp_with_env, scope, NULL) == 0);
assert_se(strv_length(lp_with_env.search_path) == 1);
assert_se(streq(lp_with_env.search_path[0], systemd_unit_path));
assert_se(lookup_paths_reduce(&lp_with_env) >= 0);
assert_se(strv_length(lp_with_env.search_path) == 0);
assert_se(rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL) >= 0);
}