* tests/test-close.c: Include <fcntl.h>.
(main): Check that AT_FDCWD is recognized as an invalid file descriptor.
* tests/test-dup.c: Include <fcntl.h>.
(main): Check that AT_FDCWD is recognized as an invalid file descriptor.
* tests/test-unlockpt.c: Include <fcntl.h>.
(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 <bruno@clisp.org>
+
+ tests: Strenghten tests with invalid file descriptor.
+ * tests/test-close.c: Include <fcntl.h>.
+ (main): Check that AT_FDCWD is recognized as an invalid file descriptor.
+ * tests/test-dup.c: Include <fcntl.h>.
+ (main): Check that AT_FDCWD is recognized as an invalid file descriptor.
+ * tests/test-unlockpt.c: Include <fcntl.h>.
+ (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 <bruno@clisp.org>
doc: More details about pthread_setname_np.
SIGNATURE_CHECK (close, int, (int));
#include <errno.h>
+#include <fcntl.h>
#include "macros.h"
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;
}
SIGNATURE_CHECK (dup, int, (int));
#include <errno.h>
+#include <fcntl.h>
#include "macros.h"
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;
}
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. */
{
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);
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);
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);
|| 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. */
{
SIGNATURE_CHECK (unlockpt, int, (int));
#include <errno.h>
+#include <fcntl.h>
#include <unistd.h>
#include "macros.h"
|| 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;