The chown/preserve-root test fails on macOS 12.5. test-suite.log from macOS 12.5:
FAIL: tests/chown/preserve-root =============================== ++ initial_cwd_=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build +++ testdir_prefix_ +++ printf gt ++ pfx_=gt +++ mktempd_ /Users/haible/STORAGE/coreutils-9.4.170-7b206/build gt-preserve-root.sh.XXXX +++ case $# in +++ destdir_=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build +++ template_=gt-preserve-root.sh.XXXX +++ MAX_TRIES_=4 +++ case $destdir_ in +++ destdir_slash_=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/ +++ case $template_ in ++++ unset TMPDIR +++ d=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI +++ case $d in +++ : +++ test -d /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI ++++ ls -dgo /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI +++ perms='drwx------ 2 64 Mar 24 06:21 /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI' +++ case $perms in +++ : +++ echo /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI +++ return ++ test_dir_=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI ++ cd /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI ++ case $srcdir in ++ srcdir=../.. ++ 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 ++ saved_IFS=' ' ++ IFS=: ++ new_PATH= ++ sep_= ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /Users/haible/bin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /usr/local/bin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /usr/bin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /bin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin:/bin ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /usr/sbin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin ++ sep_=: ++ for dir in '$PATH' ++ case "$dir" in ++ test -d /sbin/. ++ new_PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ++ sep_=: ++ IFS=' ' ++ PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ++ export PATH ++ trap remove_tmp_ EXIT + path_prepend_ ./src + test 1 '!=' 0 + path_dir_=./src + case $path_dir_ in + abs_path_dir_=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/./src + case $abs_path_dir_ in + PATH=/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/./src:/Users/haible/STORAGE/coreutils-9.4.170-7b206/build/src:/Users/haible/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin + create_exe_shims_ /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/./src + case $EXEEXT in + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ chown + require_built_ chown + skip_=no + for i in '"$@"' + case " $built_programs " in + test no = yes + test yes = yes + local i + for i in '$*' + env chown --version chown (GNU coreutils) 9.4.170-7b206 Copyright (C) 2024 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 and Jim Meyering. + skip_if_root_ + uid_is_privileged_ ++ id -u + my_uid=61264 + case $my_uid in + return 1 + mkdir d + ln -s / d/slink-to-root + chown -R --preserve-root 0 / + chgrp -R --preserve-root 0 / + chmod -R --preserve-root u+r / + echo '==== test -RHh' ++ id -u + chown -RHh --preserve-root 61264 d ++ id -g + chgrp -RHh --preserve-root 4294967295 d + fail=1 + echo '==== test -RLh' ++ id -u + chown -RLh --preserve-root 61264 d ++ id -g + chgrp -RLh --preserve-root 4294967295 d + cat + compare exp out + compare_dev_null_ exp out + test 2 = 2 + test xexp = x/dev/null + test xout = x/dev/null + return 2 + case $? in + compare_ exp out + LC_ALL=C + diff -u exp out --- exp 2024-03-24 06:21:56.000000000 -0500 +++ out 2024-03-24 06:21:56.000000000 -0500 @@ -5,8 +5,8 @@ chmod: it is dangerous to operate recursively on '/' chmod: use --no-preserve-root to override this failsafe ==== test -RHh +chgrp: invalid group: '4294967295' ==== test -RLh chown: it is dangerous to operate recursively on 'd/slink-to-root' (same as '/') chown: use --no-preserve-root to override this failsafe -chgrp: it is dangerous to operate recursively on 'd/slink-to-root' (same as '/') -chgrp: use --no-preserve-root to override this failsafe +chgrp: invalid group: '4294967295' + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + test '' = yes + cd /Users/haible/STORAGE/coreutils-9.4.170-7b206/build + chmod -R u+rwx /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI + rm -rf /Users/haible/STORAGE/coreutils-9.4.170-7b206/build/gt-preserve-root.sh.FMEI + exit 1 FAIL tests/chown/preserve-root.sh (exit status: 1)