1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-26 14:04:03 +03:00

test: add basic test for memfd_set_sealed() and memfd_get_sealed()

This commit is contained in:
Yu Watanabe 2023-05-16 18:59:25 +09:00
parent 52e2672af2
commit 3418ca21ed
2 changed files with 31 additions and 0 deletions

View File

@ -112,6 +112,7 @@ simple_tests += files(
'test-log.c',
'test-logarithm.c',
'test-macro.c',
'test-memfd-util.c',
'test-memory-util.c',
'test-mempool.c',
'test-mkdir.c',

View File

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <unistd.h>
#include "errno-util.h"
#include "fd-util.h"
#include "memfd-util.h"
#include "string-util.h"
#include "tests.h"
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("test-memfd-get-sealed");
if (fd < 0) {
assert_se(ERRNO_IS_NOT_SUPPORTED(fd));
return;
}
assert_se(write(fd, TEST_TEXT, strlen(TEST_TEXT)) == 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);
}
DEFINE_TEST_MAIN(LOG_DEBUG);