summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorFrantisek Sumsal <frantisek@sumsal.cz>2023-04-18 12:10:36 +0200
committerFrantisek Sumsal <frantisek@sumsal.cz>2023-04-25 18:34:49 +0200
commitee46e4d9820f1ab631fb1dda780a2ac43f02ce1c (patch)
tree636c1061d80491a01a6b93aa61bfd6ff270ae510 /src/test
parentb9dac418372401742609bd600f05267ae3a724de (diff)
downloadsystemd-ee46e4d9820f1ab631fb1dda780a2ac43f02ce1c.tar.gz
test: cover missed stuff from securebits-util.h
Diffstat (limited to 'src/test')
-rw-r--r--src/test/test-secure-bits.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/test-secure-bits.c b/src/test/test-secure-bits.c
index d44bef6a09..27e6a20e09 100644
--- a/src/test/test-secure-bits.c
+++ b/src/test/test-secure-bits.c
@@ -28,6 +28,7 @@ TEST(secure_bits_basic) {
r = secure_bits_from_string(*bit);
assert_se(r > 0);
+ assert_se(secure_bits_is_valid(r));
assert_se(secure_bits_to_string_alloc(r, &s) >= 0);
printf("%s = 0x%x = %s\n", *bit, (unsigned)r, s);
assert_se(streq(*bit, s));
@@ -38,6 +39,7 @@ TEST(secure_bits_basic) {
assert_se(joined);
r = secure_bits_from_string(joined);
assert_se(r > 0);
+ assert_se(secure_bits_is_valid(r));
assert_se(secure_bits_to_string_alloc(r, &str) >= 0);
printf("%s = 0x%x = %s\n", joined, (unsigned)r, str);
assert_se(streq(joined, str));
@@ -54,6 +56,16 @@ TEST(secure_bits_basic) {
/* Empty secure bits */
assert_se(secure_bits_to_string_alloc(0, &str) >= 0);
assert_se(isempty(str));
+
+ str = mfree(str);
+
+ /* Bits to string with check */
+ assert_se(secure_bits_to_string_alloc_with_check(INT_MAX, &str) == -EINVAL);
+ assert_se(str == NULL);
+ assert_se(secure_bits_to_string_alloc_with_check(
+ (1 << SECURE_KEEP_CAPS) | (1 << SECURE_KEEP_CAPS_LOCKED),
+ &str) >= 0);
+ assert_se(streq(str, "keep-caps keep-caps-locked"));
}
TEST(secure_bits_mix) {
@@ -75,6 +87,7 @@ TEST(secure_bits_mix) {
r = secure_bits_from_string(s->input);
assert_se(r > 0);
+ assert_se(secure_bits_is_valid(r));
assert_se(secure_bits_to_string_alloc(r, &str) >= 0);
printf("%s = 0x%x = %s\n", s->input, (unsigned)r, str);
assert_se(streq(s->expected, str));