diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-04-04 12:26:57 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-04-05 00:52:56 +0900 |
commit | 99e6d7941b70d6015c79e816f07bece947563f87 (patch) | |
tree | 469912e2e269414c125a6bf99d6353a022678d53 /src/test/test-id128.c | |
parent | 52673ef848e711cf66fcb871cc36af7e3b3faa47 (diff) | |
download | systemd-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.c | 20 |
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); |