test-daemon: add test case for sd_pidfd_get_inode_id()

This commit is contained in:
Mike Yuan
2025-06-03 17:15:00 +02:00
parent 46b0844743
commit b8194aa8b7

View File

@@ -1,15 +1,20 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <sys/eventfd.h>
#include "sd-daemon.h"
#include "fd-util.h"
#include "parse-util.h"
#include "pidfd-util.h"
#include "process-util.h"
#include "strv.h"
#include "tests.h"
#include "time-util.h"
int main(int argc, char *argv[]) {
_cleanup_strv_free_ char **l = NULL;
int n, i;
int r, n, i;
usec_t duration = USEC_PER_SEC / 10;
test_setup_logging(LOG_DEBUG);
@@ -54,5 +59,16 @@ int main(int argc, char *argv[]) {
"STOPPING=1");
usleep_safe(duration);
_cleanup_close_ int fd = eventfd(0, EFD_CLOEXEC);
ASSERT_OK_ERRNO(fd);
r = sd_pidfd_get_inode_id(fd, NULL);
ASSERT_TRUE(IN_SET(r, -EOPNOTSUPP, -EBADF));
if (r == -EBADF) {
safe_close(fd);
ASSERT_OK_ERRNO(fd = pidfd_open(getpid_cached(), 0));
ASSERT_OK(sd_pidfd_get_inode_id(fd, NULL));
}
return EXIT_SUCCESS;
}