From: Daan De Meyer Date: Sun, 21 Apr 2024 19:21:10 +0000 (+0200) Subject: test: Make sure test_fdset_close_others does not affect logging fds X-Git-Tag: v256-rc1~87^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=949d967964cd1684833b215ec59d8824b1920753;p=thirdparty%2Fsystemd.git test: Make sure test_fdset_close_others does not affect logging fds --- diff --git a/src/test/test-fdset.c b/src/test/test-fdset.c index 8f00e598fdd..cfbd8e270a8 100644 --- a/src/test/test-fdset.c +++ b/src/test/test-fdset.c @@ -116,9 +116,18 @@ TEST(fdset_close_others) { copyfd = fdset_put_dup(fdset, fd); assert_se(copyfd >= 0); + /* fdset_close_others() will close any logging file descriptors as well, so close them beforehand + * and reopen them again afterwards. */ + log_close(); assert_se(fdset_close_others(fdset) >= 0); + flags = fcntl(fd, F_GETFD); assert_se(flags < 0); + + /* Open log again after checking that fd is invalid, since reopening the log might make fd a valid + * file descriptor again. */ + (void) log_open(); + flags = fcntl(copyfd, F_GETFD); assert_se(flags >= 0); }