From: Yu Watanabe Date: Tue, 4 Apr 2023 03:26:57 +0000 (+0900) Subject: test: add tests for ID128_REFUSE_NULL X-Git-Tag: v254-rc1~806^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99e6d7941b70d6015c79e816f07bece947563f87;p=thirdparty%2Fsystemd.git test: add tests for ID128_REFUSE_NULL --- diff --git a/src/test/test-id128.c b/src/test/test-id128.c index 75c3582734e..e0228044021 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);