X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-cap-list.c;h=238f876f2a1fb5b7ca870abac5ac83c80fd3e77d;hb=fad5a6c66e73d3df20846906121d52159e1f6bf4;hp=a536522646ad78a59f30f584c374618dcdb9131c;hpb=34a3e4ecad5fd2042eb83ffcbf30379a536cc3ee;p=elogind.git diff --git a/src/test/test-cap-list.c b/src/test/test-cap-list.c index a53652264..238f876f2 100644 --- a/src/test/test-cap-list.c +++ b/src/test/test-cap-list.c @@ -45,5 +45,24 @@ int main(int argc, char *argv[]) { assert_se(capability_from_name("15") == 15); assert_se(capability_from_name("-1") == -EINVAL); + for (i = 0; i <= (int) cap_last_cap(); i++) { + _cleanup_cap_free_charp_ char *a = NULL; + const char *b; + unsigned u; + + assert_se(a = cap_to_name(i)); + + /* quite the loop as soon as libcap only returns + * numeric ids, formatted as string */ + if (safe_atou(a, &u) >= 0) + break; + + assert_se(b = capability_to_name(i)); + + printf("%s vs. %s\n", a, b); + + assert_se(streq(a, b)); + } + return 0; }