test-fsync: enhance tests
authorEric Blake <eblake@redhat.com>
Fri, 16 Sep 2011 16:28:13 +0000 (10:28 -0600)
committerEric Blake <eblake@redhat.com>
Fri, 16 Sep 2011 16:48:37 +0000 (10:48 -0600)
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>
ChangeLog
modules/fsync-tests
tests/test-fsync.c

index 3717d06..e1f97a0 100644 (file)
--- 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.
index e3df22d..3db181b 100644 (file)
@@ -4,6 +4,7 @@ tests/signature.h
 tests/macros.h
 
 Depends-on:
+errno
 
 configure.ac:
 
index 2627d0c..11c0478 100644 (file)
@@ -32,13 +32,16 @@ main (void)
   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);