The CI, this week, reports a test failure: FAIL: tests/install/stdin.sh
on macOS and FreeBSD. Find attached the log from macOS.
====================================================== GNU coreutils 2026-06-02: ./tests/test-suite.log ====================================================== # TOTAL: 743 # PASS: 522 # SKIP: 220 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 System information (uname -a): Darwin 25.4.0 Darwin Kernel Version 25.4.0: Thu Mar 19 19:29:33 PDT 2026; root:xnu-12377.101.15~1/RELEASE_ARM64_VMAPPLE .. contents:: :depth: 2 FAIL: tests/install/stdin ========================= ++ initial_cwd_=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build +++ testdir_prefix_ +++ printf gt ++ pfx_=gt +++ mktempd_ /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build gt-stdin.sh.XXXX +++ case $# in +++ destdir_=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build +++ template_=gt-stdin.sh.XXXX +++ MAX_TRIES_=4 +++ case $destdir_ in +++ destdir_slash_=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/ +++ case $template_ in ++++ unset TMPDIR +++ d=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 +++ case $d in +++ : +++ test -d /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 ++++ ls -dgo /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 +++ perms='drwx------ 2 64 Jun 2 13:02 /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3' +++ case $perms in +++ : +++ echo /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 +++ return ++ test_dir_=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 ++ cd /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 ++ 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= ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /opt/homebrew/lib/ruby/gems/3.4.0/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /opt/homebrew/opt/[email protected]/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /opt/homebrew/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /opt/homebrew/sbin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Users/runner/.cargo/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/local/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Users/runner/.yarn/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Users/runner/Library/Android/sdk/tools/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Users/runner/Library/Android/sdk/platform-tools/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /Library/Frameworks/Python.framework/Versions/Current/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/sbin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /sbin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin ++ IFS=' ' ++ PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/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/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/./src + case $abs_path_dir_ in + PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/./src:/Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/src:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/runner/.cargo/bin:/usr/local/bin:/Users/runner/.yarn/bin:/Users/runner/Library/Android/sdk/tools:/Users/runner/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin + create_exe_shims_ /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/./src + case $EXEEXT in + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ ginstall + require_built_ ginstall + skip_=no + for i in '"$@"' + case " $built_programs " in + test no = yes + test yes = yes + local i + for i in '$*' + env ginstall --version install (GNU coreutils) 2026-06-02 Copyright (C) 2026 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. ++ readlink -f /dev/stdin + tty=/dev/fd/0 + test -r /dev/fd/0 + echo a + echo b + cat a + ginstall /dev/stdin file1 + fail=1 + compare a file1 + compare_dev_null_ a file1 + test 2 = 2 + test xa = x/dev/null + test xfile1 = x/dev/null + return 2 + case $? in + compare_ a file1 + LC_ALL=C + diff -u a file1 diff: file1: No such file or directory + fail=1 + compare /dev/null out + compare_dev_null_ /dev/null out + test 2 = 2 + test x/dev/null = x/dev/null + test -s out + return 0 + return 0 + compare /dev/null err + compare_dev_null_ /dev/null err + test 2 = 2 + test x/dev/null = x/dev/null + test -s err + emit_diff_u_header_ /dev/null err + printf '%s\n' 'diff -u /dev/null err' '--- /dev/null 1970-01-01' '+++ err 1970-01-01' diff -u /dev/null err --- /dev/null 1970-01-01 +++ err 1970-01-01 + sed 's/^/+/' err +ginstall: skipping file '/dev/stdin', as it was replaced while being copied + return 1 + case $? in + return 1 + fail=1 + ginstall /dev/stdin file2 + fail=1 + compare b file2 + compare_dev_null_ b file2 + test 2 = 2 + test xb = x/dev/null + test xfile2 = x/dev/null + return 2 + case $? in + compare_ b file2 + LC_ALL=C + diff -u b file2 diff: file2: No such file or directory + fail=1 + compare /dev/null out + compare_dev_null_ /dev/null out + test 2 = 2 + test x/dev/null = x/dev/null + test -s out + return 0 + return 0 + compare /dev/null err + compare_dev_null_ /dev/null err + test 2 = 2 + test x/dev/null = x/dev/null + test -s err + emit_diff_u_header_ /dev/null err + printf '%s\n' 'diff -u /dev/null err' '--- /dev/null 1970-01-01' '+++ err 1970-01-01' diff -u /dev/null err --- /dev/null 1970-01-01 +++ err 1970-01-01 + sed 's/^/+/' err +ginstall: skipping file '/dev/stdin', as it was replaced while being copied + return 1 + case $? in + return 1 + fail=1 + ginstall /dev/stdin file1 ../tests/install/stdin.sh: line 47: file2: No such file or directory + fail=1 + compare b file1 + compare_dev_null_ b file1 + test 2 = 2 + test xb = x/dev/null + test xfile1 = x/dev/null + return 2 + case $? in + compare_ b file1 + LC_ALL=C + diff -u b file1 diff: file1: No such file or directory + fail=1 + compare /dev/null out + compare_dev_null_ /dev/null out + test 2 = 2 + test x/dev/null = x/dev/null + test -s out + return 0 + return 0 + compare /dev/null err + compare_dev_null_ /dev/null err + test 2 = 2 + test x/dev/null = x/dev/null + test -s err + emit_diff_u_header_ /dev/null err + printf '%s\n' 'diff -u /dev/null err' '--- /dev/null 1970-01-01' '+++ err 1970-01-01' diff -u /dev/null err --- /dev/null 1970-01-01 +++ err 1970-01-01 + sed 's/^/+/' err +ginstall: skipping file '/dev/stdin', as it was replaced while being copied + return 1 + case $? in + return 1 + fail=1 + cat b + ginstall /dev/stdin file1 + fail=1 + compare b file1 + compare_dev_null_ b file1 + test 2 = 2 + test xb = x/dev/null + test xfile1 = x/dev/null + return 2 + case $? in + compare_ b file1 + LC_ALL=C + diff -u b file1 diff: file1: No such file or directory + fail=1 + compare /dev/null out + compare_dev_null_ /dev/null out + test 2 = 2 + test x/dev/null = x/dev/null + test -s out + return 0 + return 0 + compare /dev/null err + compare_dev_null_ /dev/null err + test 2 = 2 + test x/dev/null = x/dev/null + test -s err + emit_diff_u_header_ /dev/null err + printf '%s\n' 'diff -u /dev/null err' '--- /dev/null 1970-01-01' '+++ err 1970-01-01' diff -u /dev/null err --- /dev/null 1970-01-01 +++ err 1970-01-01 + sed 's/^/+/' err +ginstall: skipping file '/dev/stdin', as it was replaced while being copied + return 1 + case $? in + return 1 + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + test '' = yes + cd /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build + chmod -R u+rwx /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 + rm -rf /Users/runner/work/ci-check/ci-check/coreutils-2026-06-02/build/gt-stdin.sh.VPK3 + exit 1 FAIL tests/install/stdin.sh (exit status: 1)
