linkat test: Avoid test failure on AIX 7.1.
authorBruno Haible <bruno@clisp.org>
Sun, 19 Jun 2011 18:41:46 +0000 (20:41 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 19 Jun 2011 18:41:46 +0000 (20:41 +0200)
* tests/test-linkat.c (main): Allow EINVAL as alternate error value.
* tests/test-link.h (test_link): Likewise.

ChangeLog
tests/test-link.h
tests/test-linkat.c

index 66fc1f1..31c07f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2011-06-19  Bruno Haible  <bruno@clisp.org>
 
+       linkat test: Avoid test failure on AIX 7.1.
+       * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
+       * tests/test-link.h (test_link): Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
        pread test: Avoid test failure on OpenBSD 4.9.
        * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
 
index 44ede54..5e90951 100644 (file)
@@ -115,10 +115,10 @@ test_link (int (*func) (char const *, char const *), bool print)
   ASSERT (errno == ENOENT);
   errno = 0;
   ASSERT (func (BASE "a/", BASE "c") == -1);
-  ASSERT (errno == ENOTDIR);
+  ASSERT (errno == ENOTDIR || errno == EINVAL);
   errno = 0;
   ASSERT (func (BASE "a", BASE "c/") == -1);
-  ASSERT (errno == ENOTDIR || errno == ENOENT);
+  ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EINVAL);
 
   /* Most platforms reject hard links to directories, and even on
      those that do permit it, most users can't create them.  We assume
@@ -164,11 +164,12 @@ test_link (int (*func) (char const *, char const *), bool print)
     }
   errno = 0;
   ASSERT (func (BASE "b", BASE "link/") == -1);
-  ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EEXIST);
+  ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EEXIST
+          || errno == EINVAL);
   ASSERT (rename (BASE "b", BASE "a") == 0);
   errno = 0;
   ASSERT (func (BASE "link/", BASE "b") == -1);
-  ASSERT (errno == ENOTDIR || errno == EEXIST);
+  ASSERT (errno == ENOTDIR || errno == EEXIST || errno == EINVAL);
 
   /* Clean up.  */
   ASSERT (unlink (BASE "a") == 0);
index 2bf1790..2aea565 100644 (file)
@@ -201,11 +201,13 @@ main (void)
   errno = 0;
   ASSERT (linkat (dfd, BASE "link1/", dfd, BASE "sub1",
                   AT_SYMLINK_FOLLOW) == -1);
-  ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES);
+  ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES
+          || errno == EINVAL);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link1", dfd, BASE "sub1/",
                   AT_SYMLINK_FOLLOW) == -1);
-  ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES);
+  ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES
+          || errno == EINVAL);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link2", 0) == -1);
   ASSERT (errno == EEXIST);
@@ -250,21 +252,21 @@ main (void)
   errno = 0;
   ASSERT (linkat (dfd, BASE "link2/", dfd, BASE "link5",
                   AT_SYMLINK_FOLLOW) == -1);
-  ASSERT (errno == ENOTDIR);
+  ASSERT (errno == ENOTDIR || errno == EINVAL);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link3/", dfd, BASE "link5", 0) == -1);
   ASSERT (errno == ELOOP);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link3/", dfd, BASE "link5",
                   AT_SYMLINK_FOLLOW) == -1);
-  ASSERT (errno == ELOOP);
+  ASSERT (errno == ELOOP || errno == EINVAL);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link4/", dfd, BASE "link5", 0) == -1);
   ASSERT (errno == ENOENT);
   errno = 0;
   ASSERT (linkat (dfd, BASE "link4/", dfd, BASE "link5",
                   AT_SYMLINK_FOLLOW) == -1);
-  ASSERT (errno == ENOENT);
+  ASSERT (errno == ENOENT || errno == EINVAL);
 
   /* Check for hard links to symlinks.  */
   ASSERT (linkat (dfd, BASE "link1", dfd, BASE "link5", 0) == 0);