diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-02-20 11:46:08 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-02-22 23:45:40 +0100 |
commit | 8cf4674d8673f692e548361dc4352e02244862ed (patch) | |
tree | 4b19b2b6e65fff2231613460193a7b26625c4bbe /src/test/test-cap-list.c | |
parent | a90d9ee1620ce65ecf07224f2d2d16f9f5c48ca9 (diff) | |
download | systemd-8cf4674d8673f692e548361dc4352e02244862ed.tar.gz |
cap-list: add capability_set_to_strv()
Diffstat (limited to 'src/test/test-cap-list.c')
-rw-r--r-- | src/test/test-cap-list.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/test-cap-list.c b/src/test/test-cap-list.c index 8df425bdd2..42503d294c 100644 --- a/src/test/test-cap-list.c +++ b/src/test/test-cap-list.c @@ -8,6 +8,7 @@ #include "capability-util.h" #include "parse-util.h" #include "string-util.h" +#include "strv.h" #include "tests.h" /* verify the capability parser */ @@ -99,6 +100,23 @@ TEST(capability_set_from_string) { assert_se(c == (UINT64_C(1) << 4) - 1); } +static void test_capability_set_to_strv_one(uint64_t m, char **l) { + _cleanup_strv_free_ char **b = NULL; + + assert_se(capability_set_to_strv(m, &b) >= 0); + assert_se(strv_equal(l, b)); +} + +TEST(capability_set_to_strv) { + test_capability_set_to_strv_one(0, STRV_MAKE(NULL)); + test_capability_set_to_strv_one(UINT64_C(1) << CAP_MKNOD, STRV_MAKE("cap_mknod")); + test_capability_set_to_strv_one((UINT64_C(1) << CAP_MKNOD) | + (UINT64_C(1) << CAP_NET_BIND_SERVICE), STRV_MAKE("cap_net_bind_service", "cap_mknod")); + test_capability_set_to_strv_one((UINT64_C(1) << CAP_MKNOD) | + (UINT64_C(1) << CAP_NET_BIND_SERVICE) | + (UINT64_C(1) << CAP_IPC_OWNER), STRV_MAKE("cap_net_bind_service", "cap_ipc_owner", "cap_mknod")); +} + static void test_capability_set_to_string_invalid(uint64_t invalid_cap_set) { uint64_t c; |