changeset 15621:44827bcbe6ca

test-fsync: enhance tests This test failed to compile on mingw, which lacks ENOTSUP. Furthermore, it wasn't testing POSIX behavior on invalid fds. * modules/fsync-tests (Depends-on): Add errno, for mingw. * tests/test-fsync.c (main): Enhance test. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Fri, 16 Sep 2011 10:28:13 -0600
parents 04a6b94f5530
children 814138b4cfed
files ChangeLog modules/fsync-tests tests/test-fsync.c
diffstat 3 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-09-16  Eric Blake  <eblake@redhat.com>
+
+	test-fsync: enhance tests
+	* modules/fsync-tests (Depends-on): Add errno, for mingw.
+	* tests/test-fsync.c (main): Enhance test.
+
 2011-09-15  Bruno Haible  <bruno@clisp.org>
 
 	Support for MSVC compiler: Ensure ssize_t gets defined.
--- a/modules/fsync-tests
+++ b/modules/fsync-tests
@@ -4,6 +4,7 @@
 tests/macros.h
 
 Depends-on:
+errno
 
 configure.ac:
 
--- a/tests/test-fsync.c
+++ b/tests/test-fsync.c
@@ -32,13 +32,16 @@
   int fd;
   const char *file = "test-fsync.txt";
 
-  if (fsync (0) != 0)
+  if (fsync (STDOUT_FILENO) != 0)
     {
       ASSERT (errno == EINVAL /* POSIX */
               || errno == ENOTSUP /* seen on MacOS X 10.5 */
               || errno == EBADF /* seen on AIX 7.1 */
-             );
+              );
     }
+  errno = 0;
+  ASSERT (fsync (-1) == -1);
+  ASSERT (errno == EBADF);
   fd = open (file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
   ASSERT (0 <= fd);
   ASSERT (write (fd, "hello", 5) == 5);