From: Bruno Haible Date: Tue, 3 Sep 2024 21:00:28 +0000 (+0200) Subject: tests: Strenghten tests with invalid file descriptor. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=30cfcf6f0417c4df7d9452400a70829a29612441;p=gnulib.git tests: Strenghten tests with invalid file descriptor. * tests/test-close.c: Include . (main): Check that AT_FDCWD is recognized as an invalid file descriptor. * tests/test-dup.c: Include . (main): Check that AT_FDCWD is recognized as an invalid file descriptor. * tests/test-unlockpt.c: Include . (main): Check that AT_FDCWD is recognized as an invalid file descriptor. * tests/test-fchdir.c (main): Likewise. * tests/test-fdatasync.c (main): Likewise. * tests/test-fdopendir.c (main): Likewise. * tests/test-fsync.c (main): Likewise. * tests/test-isatty.c (main): Likewise. --- diff --git a/ChangeLog b/ChangeLog index a86f4ee321..c241453a5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2024-09-03 Bruno Haible + + tests: Strenghten tests with invalid file descriptor. + * tests/test-close.c: Include . + (main): Check that AT_FDCWD is recognized as an invalid file descriptor. + * tests/test-dup.c: Include . + (main): Check that AT_FDCWD is recognized as an invalid file descriptor. + * tests/test-unlockpt.c: Include . + (main): Check that AT_FDCWD is recognized as an invalid file descriptor. + * tests/test-fchdir.c (main): Likewise. + * tests/test-fdatasync.c (main): Likewise. + * tests/test-fdopendir.c (main): Likewise. + * tests/test-fsync.c (main): Likewise. + * tests/test-isatty.c (main): Likewise. + 2024-09-03 Bruno Haible doc: More details about pthread_setname_np. diff --git a/tests/test-close.c b/tests/test-close.c index b796e0d200..ca2c21bfe2 100644 --- a/tests/test-close.c +++ b/tests/test-close.c @@ -22,6 +22,7 @@ SIGNATURE_CHECK (close, int, (int)); #include +#include #include "macros.h" @@ -40,6 +41,13 @@ main (void) ASSERT (close (99) == -1); ASSERT (errno == EBADF); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (close (AT_FDCWD) == -1); + ASSERT (errno == EBADF); + } +#endif return test_exit_status; } diff --git a/tests/test-dup.c b/tests/test-dup.c index bf3f519bb8..884fbc605c 100644 --- a/tests/test-dup.c +++ b/tests/test-dup.c @@ -22,6 +22,7 @@ SIGNATURE_CHECK (dup, int, (int)); #include +#include #include "macros.h" @@ -40,6 +41,13 @@ main (void) ASSERT (dup (99) == -1); ASSERT (errno == EBADF); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (dup (AT_FDCWD) == -1); + ASSERT (errno == EBADF); + } +#endif return test_exit_status; } diff --git a/tests/test-fchdir.c b/tests/test-fchdir.c index 692ab5194c..0eba209c47 100644 --- a/tests/test-fchdir.c +++ b/tests/test-fchdir.c @@ -56,6 +56,13 @@ main (void) ASSERT (fchdir (99) == -1); ASSERT (errno == EBADF); } +#ifdef FD_ATCWD + { + errno = 0; + ASSERT (fchdir (FD_ATCWD) == -1); + ASSERT (errno == EBADF); + } +#endif /* Check for other failure cases. */ { diff --git a/tests/test-fdatasync.c b/tests/test-fdatasync.c index 3d55a7105b..691a198a99 100644 --- a/tests/test-fdatasync.c +++ b/tests/test-fdatasync.c @@ -56,6 +56,13 @@ main (void) ASSERT (fdatasync (99) == -1); ASSERT (errno == EBADF); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (fdatasync (AT_FDCWD) == -1); + ASSERT (errno == EBADF); + } +#endif fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); diff --git a/tests/test-fdopendir.c b/tests/test-fdopendir.c index 5dd8a4a967..3430d03bad 100644 --- a/tests/test-fdopendir.c +++ b/tests/test-fdopendir.c @@ -56,6 +56,13 @@ main () ASSERT (fdopendir (99) == NULL); ASSERT (errno == EBADF); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (fdopendir (AT_FDCWD) == NULL); + ASSERT (errno == EBADF); + } +#endif /* This should work. */ fd = open (".", O_RDONLY); diff --git a/tests/test-fsync.c b/tests/test-fsync.c index c28a5cc6ab..7e680c274a 100644 --- a/tests/test-fsync.c +++ b/tests/test-fsync.c @@ -56,6 +56,13 @@ main (void) ASSERT (fsync (99) == -1); ASSERT (errno == EBADF); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (fsync (AT_FDCWD) == -1); + ASSERT (errno == EBADF); + } +#endif fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644); ASSERT (0 <= fd); diff --git a/tests/test-isatty.c b/tests/test-isatty.c index 1c7d6d8cd9..d844c62615 100644 --- a/tests/test-isatty.c +++ b/tests/test-isatty.c @@ -56,6 +56,15 @@ main (void) || errno == 0 /* seen on IRIX 6.5, Solaris 10 */ ); } +#ifdef AT_FDCWD + { + errno = 0; + ASSERT (isatty (AT_FDCWD) == 0); + ASSERT (errno == EBADF + || errno == 0 /* seen on IRIX 6.5, Solaris 10 */ + ); + } +#endif /* Test behaviour for regular files. */ { diff --git a/tests/test-unlockpt.c b/tests/test-unlockpt.c index e69f72db97..8fbd36cf69 100644 --- a/tests/test-unlockpt.c +++ b/tests/test-unlockpt.c @@ -22,6 +22,7 @@ SIGNATURE_CHECK (unlockpt, int, (int)); #include +#include #include #include "macros.h" @@ -46,6 +47,15 @@ main (void) || errno == EINVAL /* seen on FreeBSD 6.4 */ ); } +# ifdef AT_FDCWD + { + errno = 0; + ASSERT (unlockpt (AT_FDCWD) == -1); + ASSERT (errno == EBADF + || errno == EINVAL /* seen on FreeBSD 6.4 */ + ); + } +# endif #endif return test_exit_status;