diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-03-23 19:12:55 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-03-27 20:12:44 +0100 |
commit | d32014a5bba837a288286e0f06e1927786d06d82 (patch) | |
tree | c06fa57be18c50b6829ad8dadd3157b279211120 /src/test/test-sd-path.c | |
parent | 4908de44b0a0409f84a7cdc5641b114d6ce8ba03 (diff) | |
download | systemd-d32014a5bba837a288286e0f06e1927786d06d82.tar.gz |
test-sd-path: basic test for the sd-path API
Diffstat (limited to 'src/test/test-sd-path.c')
-rw-r--r-- | src/test/test-sd-path.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/test-sd-path.c b/src/test/test-sd-path.c new file mode 100644 index 0000000000..780a62a2cf --- /dev/null +++ b/src/test/test-sd-path.c @@ -0,0 +1,61 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ + +#include "sd-path.h" + +#include "alloc-util.h" +#include "string-util.h" +#include "strv.h" +#include "tests.h" + +static void test_sd_path_home(void) { + log_info("/* %s */", __func__); + + for (uint64_t i = 0; i < _SD_PATH_MAX; i++) { + _cleanup_free_ char *t, *s; + + assert_se(sd_path_home(i, NULL, &t) == 0); + assert_se(t); + log_info("%02"PRIu64": \"%s\"", i, t); + + assert_se(sd_path_home(i, "suffix", &s) == 0); + assert_se(s); + log_info("%02"PRIu64": \"%s\"", i, s); + assert_se(endswith(s, "/suffix")); + } + + char *tt; + assert_se(sd_path_home(_SD_PATH_MAX, NULL, &tt) == -EOPNOTSUPP); +} + +static void test_sd_path_search(void) { + log_info("/* %s */", __func__); + + for (uint64_t i = 0; i < _SD_PATH_MAX; i++) { + _cleanup_strv_free_ char **t, **s; + char **item; + + assert_se(sd_path_search(i, NULL, &t) == 0); + assert_se(t); + log_info("%02"PRIu64":", i); + STRV_FOREACH(item, t) + log_debug(" %s", *item); + + assert_se(sd_path_search(i, "suffix", &s) == 0); + assert_se(s); + log_info("%02"PRIu64":", i); + STRV_FOREACH(item, s) { + assert_se(endswith(*item, "/suffix")); + log_debug(" %s", *item); + } + } + + char *tt; + assert_se(sd_path_home(_SD_PATH_MAX, NULL, &tt) == -EOPNOTSUPP); +} + +int main(void) { + test_setup_logging(LOG_DEBUG); + + test_sd_path_home(); + test_sd_path_search(); +} |