From 8951706784c0534f821600fda2fb1e89f875f823 Mon Sep 17 00:00:00 2001 From: Busayo Dada Date: Wed, 26 Mar 2025 15:04:05 +0100 Subject: [PATCH] test: Improve coverage in test-memfd-util and use ASSERT_OK() macro and friends --- src/test/test-memfd-util.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/test/test-memfd-util.c b/src/test/test-memfd-util.c index d38397a3f3b..43c5c31193e 100644 --- a/src/test/test-memfd-util.c +++ b/src/test/test-memfd-util.c @@ -1,7 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - #include "errno-util.h" #include "fd-util.h" #include "memfd-util.h" @@ -11,21 +9,30 @@ TEST(memfd_get_sealed) { #define TEST_TEXT "this is some random test text we are going to write to a memfd" - _cleanup_close_ int fd = -EBADF; - - fd = memfd_new_full("test-memfd-get-sealed", MFD_ALLOW_SEALING); + _cleanup_close_ int fd = memfd_new_full("test-memfd-get-sealed", MFD_ALLOW_SEALING); if (fd < 0) { - assert_se(ERRNO_IS_NOT_SUPPORTED(fd)); - return; + ASSERT_TRUE(ERRNO_IS_NOT_SUPPORTED(fd)); + return (void) log_tests_skipped_errno(fd, "Failed to create new memfd"); } - - assert_se(write(fd, TEST_TEXT, strlen(TEST_TEXT)) == strlen(TEST_TEXT)); + ASSERT_OK_EQ_ERRNO(write(fd, TEST_TEXT, strlen(TEST_TEXT)), (ssize_t) strlen(TEST_TEXT)); /* we'll leave the read offset at the end of the memfd, the fdopen_independent() descriptors should * start at the beginning anyway */ - assert_se(memfd_get_sealed(fd) == 0); - assert_se(memfd_set_sealed(fd) >= 0); - assert_se(memfd_get_sealed(fd) > 0); + uint64_t size, new_size; + ASSERT_OK(memfd_get_size(fd, &size)); + ASSERT_GE(size, (uint64_t) strlen(TEST_TEXT)); + + ASSERT_OK(memfd_set_size(fd, size * 2)); + ASSERT_OK(memfd_get_size(fd, &new_size)); + ASSERT_EQ(new_size, size * 2); + + ASSERT_OK(memfd_set_size(fd, new_size / 2)); + ASSERT_OK(memfd_get_size(fd, &size)); + ASSERT_EQ(size, new_size / 2); + + ASSERT_OK(memfd_get_sealed(fd) == 0); + ASSERT_OK(memfd_set_sealed(fd) >= 0); + ASSERT_OK(memfd_get_sealed(fd) > 0); } DEFINE_TEST_MAIN(LOG_DEBUG); -- 2.47.3