Subject: 8.32 make check as root failure of rmdir/ignore.sh
From: Nick Alcock <[email-masked]>
To: GNU Coreutils Bug List <[email-masked]>
Date: Fri, 31 Jul 2020 15:32:14 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

I get an ERROR when running rmdir/ignore.sh as root (but not when
running as non-root). The running system has coreutils 8.31 installed;
The source tree, /usr/src/coreutils/x86_64-loom, is a loopback mount of
an xfs filesystem dedicated only to this build. (The build subdir
shai-build has nothing special about it.)

The failure observed is described in a comment in the test as applying
only to 8.31 and below: I don't *think* it can be mistakenly running the
host touch(1), can it?

(This is all built from a bootstrapped git checkout with a
locally-updated gnulib, updated five minutes before I did the build.)

ERROR: tests/rmdir/ignore
=========================

++ initial_cwd_=/usr/src/coreutils/x86_64-loom/shai-build
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /usr/src/coreutils/x86_64-loom/shai-build gt-ignore.sh.XXXX
+++ case $# in
+++ destdir_=/usr/src/coreutils/x86_64-loom/shai-build
+++ template_=gt-ignore.sh.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ destdir_slash_=/usr/src/coreutils/x86_64-loom/shai-build/
+++ case $template_ in
++++ unset TMPDIR
+++ d=/usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+++ case $d in
+++ :
+++ test -d /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
++++ ls -dgo /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+++ perms='drwx------ 2 10 Jul 31 15:23 /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ'
+++ case $perms in
+++ :
+++ echo /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+++ return
++ test_dir_=/usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
++ cd /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
++ case $srcdir in
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_='
'
++ IFS=' 	
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ./src
+ test 1 '!=' 0
+ path_dir_=./src
+ case $path_dir_ in
+ abs_path_dir_=/usr/src/coreutils/x86_64-loom/shai-build/./src
+ case $abs_path_dir_ in
+ PATH=/usr/src/coreutils/x86_64-loom/shai-build/./src:/usr/src/coreutils/x86_64-loom/shai-build/src:/bin:/usr/bin:/sbin:/usr/sbin
+ create_exe_shims_ /usr/src/coreutils/x86_64-loom/shai-build/./src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ print_ver_ rmdir
+ require_built_ rmdir
+ skip_=no
+ for i in "$@"
+ case " $built_programs " in
+ test no = yes
+ test yes = yes
+ local i
+ for i in $*
+ env rmdir --version
rmdir (GNU coreutils) 8.32-dirty
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
++ pwd
+ cwd=/usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+ mkdir -p /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/b/c /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/x
+ rmdir -p --ignore-fail-on-non-empty /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/b/c
+ test -d /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/x
+ test -d /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/b
+ test -d /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ/a/b/c
+ mkdir -p x/y
+ chmod a-w x
+ returns_ 1 rmdir --ignore-fail-on-non-empty x/y
+ fail=1
+ test -d x/y
+ fail=1
+ touch x/y/z
touch: cannot touch 'x/y/z': No such file or directory
+ framework_failure_
+ warn_ 'ignore.sh: set-up failure: '
+ case $IFS in
+ printf '%s\n' 'ignore.sh: set-up failure: '
ignore.sh: set-up failure: 
+ test 9 = 2
+ printf '%s\n' 'ignore.sh: set-up failure: '
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ test '' = yes
+ cd /usr/src/coreutils/x86_64-loom/shai-build
+ chmod -R u+rwx /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+ rm -rf /usr/src/coreutils/x86_64-loom/shai-build/gt-ignore.sh.HNnQ
+ exit 99
ERROR tests/rmdir/ignore.sh (exit status: 99)