]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/test/test-cap-list.c
test: do not use last cap from kernel in test-cap-list
authorFilipe Brandenburger <filbranden@google.com>
Tue, 23 Dec 2014 21:51:40 +0000 (13:51 -0800)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 25 Dec 2014 15:55:41 +0000 (10:55 -0500)
commit097df453dab149f6b45f1b30510363acd8f11593
treeefce4f6877cc8a3076b291b751068db93ef7a5a1
parent6024a6e302bad6bcf073fa84a41a6123305dc845
test: do not use last cap from kernel in test-cap-list

The new test-cap-list introduced in commit 2822da4fb7f891 uses the included
table of capabilities. However, it uses cap_last_cap() which probes the kernel
for the last available capability. On an older kernel (e.g. 3.10 from RHEL 7)
that causes the test to fail with the following message:

    Assertion '!capability_to_name(cap_last_cap()+1)' failed at src/test/test-cap-list.c:30, function main(). Aborting.

Fix it by exporting the size of the static table and using it in the test
instead of the dynamic one from the current kernel.

Tested by successfully running ./test-cap-list and the whole `make check` test
suite with this patch on a RHEL 7 host.
src/shared/cap-list.c
src/shared/cap-list.h
src/test/test-cap-list.c