From: Mike Yuan Date: Tue, 3 Jun 2025 15:15:00 +0000 (+0200) Subject: test-daemon: add test case for sd_pidfd_get_inode_id() X-Git-Tag: v258-rc1~390^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b8194aa8b7d41e2f0bc1347f684452ab21d2aa0c;p=thirdparty%2Fsystemd.git test-daemon: add test case for sd_pidfd_get_inode_id() --- diff --git a/src/test/test-daemon.c b/src/test/test-daemon.c index 1d3ac41cdd0..979097a466a 100644 --- a/src/test/test-daemon.c +++ b/src/test/test-daemon.c @@ -1,15 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #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; }