diff options
author | Lennart Poettering <lennart@poettering.net> | 2022-11-11 21:55:00 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-11-13 17:39:08 +0900 |
commit | 08af3cc5a581894afc9c48c6427fb0f82756bec2 (patch) | |
tree | 767fb3fe87593c034c574d39c39e893695beffa4 /src/test/test-nulstr-util.c | |
parent | 1c03f7f4ba419aa65997e90accc0d935ae1cfbc5 (diff) | |
download | systemd-08af3cc5a581894afc9c48c6427fb0f82756bec2.tar.gz |
strv: move nulstr utilities to nulstr-util.[ch]
Let's move them out of the generic, already very long strv.[ch] module
into the more specific nulst-util.[ch]
No code changes.
Diffstat (limited to 'src/test/test-nulstr-util.c')
-rw-r--r-- | src/test/test-nulstr-util.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/test-nulstr-util.c b/src/test/test-nulstr-util.c new file mode 100644 index 0000000000..e707416abf --- /dev/null +++ b/src/test/test-nulstr-util.c @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include "alloc-util.h" +#include "nulstr-util.h" +#include "strv.h" +#include "tests.h" + +TEST(strv_split_nulstr) { + _cleanup_strv_free_ char **l = NULL; + const char nulstr[] = "str0\0str1\0str2\0str3\0"; + + l = strv_split_nulstr(nulstr); + assert_se(l); + + assert_se(streq(l[0], "str0")); + assert_se(streq(l[1], "str1")); + assert_se(streq(l[2], "str2")); + assert_se(streq(l[3], "str3")); +} + +TEST(strv_parse_nulstr) { + _cleanup_strv_free_ char **l = NULL; + const char nulstr[] = "hoge\0hoge2\0hoge3\0\0hoge5\0\0xxx"; + + l = strv_parse_nulstr(nulstr, sizeof(nulstr)-1); + assert_se(l); + puts("Parse nulstr:"); + strv_print(l); + + assert_se(streq(l[0], "hoge")); + assert_se(streq(l[1], "hoge2")); + assert_se(streq(l[2], "hoge3")); + assert_se(streq(l[3], "")); + assert_se(streq(l[4], "hoge5")); + assert_se(streq(l[5], "")); + assert_se(streq(l[6], "xxx")); +} + +DEFINE_TEST_MAIN(LOG_INFO); |