summaryrefslogtreecommitdiff
path: root/src/test/test-id128.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2023-04-04 12:26:57 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-04-05 00:52:56 +0900
commit99e6d7941b70d6015c79e816f07bece947563f87 (patch)
tree469912e2e269414c125a6bf99d6353a022678d53 /src/test/test-id128.c
parent52673ef848e711cf66fcb871cc36af7e3b3faa47 (diff)
downloadsystemd-99e6d7941b70d6015c79e816f07bece947563f87.tar.gz
test: add tests for ID128_REFUSE_NULL
Diffstat (limited to 'src/test/test-id128.c')
-rw-r--r--src/test/test-id128.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/test-id128.c b/src/test/test-id128.c
index 75c3582734..e022804402 100644
--- a/src/test/test-id128.c
+++ b/src/test/test-id128.c
@@ -289,4 +289,24 @@ TEST(id128_at) {
assert_se(sd_id128_equal(id, i));
}
+TEST(ID128_REFUSE_NULL) {
+ _cleanup_(rm_rf_physical_and_freep) char *t = NULL;
+ _cleanup_close_ int tfd = -EBADF;
+ sd_id128_t id;
+
+ tfd = mkdtemp_open(NULL, O_PATH, &t);
+ assert_se(tfd >= 0);
+
+ assert_se(id128_write_at(tfd, "zero-id", ID128_FORMAT_PLAIN | ID128_REFUSE_NULL, (sd_id128_t) {}) == -ENOMEDIUM);
+ assert_se(unlinkat(tfd, "zero-id", 0) >= 0);
+ assert_se(id128_write_at(tfd, "zero-id", ID128_FORMAT_PLAIN, (sd_id128_t) {}) >= 0);
+
+ assert_se(sd_id128_randomize(&id) == 0);
+ assert_se(!sd_id128_equal(id, SD_ID128_NULL));
+ assert_se(id128_read_at(tfd, "zero-id", ID128_FORMAT_PLAIN, &id) >= 0);
+ assert_se(sd_id128_equal(id, SD_ID128_NULL));
+
+ assert_se(id128_read_at(tfd, "zero-id", ID128_FORMAT_PLAIN | ID128_REFUSE_NULL, &id) == -ENOMEDIUM);
+}
+
DEFINE_TEST_MAIN(LOG_INFO);