I see these tests fail on cfarm119 (AIX 7.3) but not on cfarm111 (AIX 7.1), so it seems to be to be a behavior change between those versions. I don't see any way around it in Gnulib, so this patch just disables them on AIX.
-- 8< -- * tests/install/basic-1.sh: Skip a test case on AIX 7.3 which cannot make directories if any of its parents are inaccessible. * tests/mkdir/p-3.sh: Likewise. --- tests/install/basic-1.sh | 24 +++++++++++++++--------- tests/mkdir/p-3.sh | 16 +++++++++++----- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh index fd13eb68b..fe41f2ec0 100755 --- a/tests/install/basic-1.sh +++ b/tests/install/basic-1.sh @@ -96,15 +96,21 @@ test -d xx/rel && fail=1 # inaccessible parent. coreutils 5.97 fails this test. # Perform this test only if "." is on a local file system. # Otherwise, it would fail e.g., on an NFS-mounted file system. -if is_local_dir_ .; then - mkdir -p sub1/d || fail=1 - (cd sub1/d && chmod a-r . && chmod a-rx .. && - ginstall -d "$iwd/xx/zz" rel/a rel/b) || fail=1 - chmod 755 sub1 sub1/d || fail=1 - test -d xx/zz || fail=1 - test -d sub1/d/rel/a || fail=1 - test -d sub1/d/rel/b || fail=1 -fi +# Also do not perform this test on AIX which cannot make directories if any of +# its parents are inaccessible. +case $host_triplet in + *aix*) ;; + *) + if is_local_dir_ .; then + mkdir -p sub1/d || fail=1 + (cd sub1/d && chmod a-r . && chmod a-rx .. && + ginstall -d "$iwd/xx/zz" rel/a rel/b) || fail=1 + chmod 755 sub1 sub1/d || fail=1 + test -d xx/zz || fail=1 + test -d sub1/d/rel/a || fail=1 + test -d sub1/d/rel/b || fail=1 + fi +esac touch file || fail=1 ginstall -Dv file sub3/a/b/c/file >out 2>&1 || fail=1 diff --git a/tests/mkdir/p-3.sh b/tests/mkdir/p-3.sh index b1debaa0f..bdb09ee42 100755 --- a/tests/mkdir/p-3.sh +++ b/tests/mkdir/p-3.sh @@ -39,11 +39,17 @@ test -d "$p/b/b" && test -d "$p/z" || fail=1 # whose parent is inaccessible. coreutils 5.97 fails this test. # Perform this test only if "." is on a local file system. # Otherwise, it would fail e.g., on an NFS-mounted file system. -if is_local_dir_ .; then - (cd no-acce3s/d && chmod a-r . && chmod a-rx .. && - mkdir -p a/b "$p/b/c" d/e && test -d a/b && test -d d/e) || fail=1 - test -d "$p/b/c" || fail=1 -fi +# Also do not perform this test on AIX which cannot make directories if any of +# its parents are inaccessible. +case $host_triplet in + *aix*) ;; + *) + if is_local_dir_ .; then + (cd no-acce3s/d && chmod a-r . && chmod a-rx .. && + mkdir -p a/b "$p/b/c" d/e && test -d a/b && test -d d/e) || fail=1 + test -d "$p/b/c" || fail=1 + fi +esac b=$(ls "$p/a" | tr -d '\n') # With coreutils-5.3.0, this would fail with $b=bu. -- 2.51.1
