From bcb4e47ffe8e14867f85d6d91a5560832fd68039 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 19 Jun 2011 20:41:46 +0200 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ tests/test-link.h | 9 +++++---- tests/test-linkat.c | 12 +++++++----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66fc1f1c9..31c07f0bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2011-06-19 Bruno Haible + 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 + pread test: Avoid test failure on OpenBSD 4.9. * tests/test-pread.c (main): Allow EFBIG instead of EINBAL. diff --git a/tests/test-link.h b/tests/test-link.h index 44ede5486..5e90951b9 100644 --- a/tests/test-link.h +++ b/tests/test-link.h @@ -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); diff --git a/tests/test-linkat.c b/tests/test-linkat.c index 2bf179052..2aea565d9 100644 --- a/tests/test-linkat.c +++ b/tests/test-linkat.c @@ -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); -- 2.11.0