In today's CI run, the ls/line-separator test fails on - Alpine Linux - macOS - FreeBSD - NetBSD - Solaris 11.4
Here are the logs from Alpine Linux and from macOS 26. The other three logs are probably similar.
FAIL: tests/ls/line-separator ============================= + initial_cwd_=/work/coreutils-2026-11-10/build + testdir_prefix_ + printf gt + pfx_=gt + mktempd_ /work/coreutils-2026-11-10/build gt-line-separator.sh.XXXX + destdir_=/work/coreutils-2026-11-10/build + template_=gt-line-separator.sh.XXXX + MAX_TRIES_=4 + destdir_slash_=/work/coreutils-2026-11-10/build/ + unset TMPDIR + d=/work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + : + test -d /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + ls -dgo /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + perms='drwx------ 2 4096 Nov 10 02:04 /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK' + : + echo /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + return + test_dir_=/work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + cd /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + srcdir=../.. + builddir=.. + export srcdir builddir + gl_init_sh_nl_=' ' + IFS=' ' + expr 1 + 128 + eval 'trap '"'"'Exit 129'"'"' 1' + trap 'Exit 129' 1 + expr 2 + 128 + eval 'trap '"'"'Exit 130'"'"' 2' + trap 'Exit 130' 2 + expr 3 + 128 + eval 'trap '"'"'Exit 131'"'"' 3' + trap 'Exit 131' 3 + expr 13 + 128 + eval 'trap '"'"'Exit 141'"'"' 13' + trap 'Exit 141' 13 + expr 15 + 128 + eval 'trap '"'"'Exit 143'"'"' 15' + trap 'Exit 143' 15 + saved_IFS=' ' + IFS=: + new_PATH= + IFS=' ' + test -d /work/coreutils-2026-11-10/build/src/. + new_PATH=/work/coreutils-2026-11-10/build/src + IFS=' ' + test -d /usr/local/bin/. + new_PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin + IFS=' ' + test -d /usr/sbin/. + new_PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin + IFS=' ' + test -d /usr/bin/. + new_PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin:/usr/bin + IFS=' ' + test -d /sbin/. + new_PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin:/usr/bin:/sbin + IFS=' ' + test -d /bin/. + new_PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + IFS=' ' + PATH=/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + export PATH + trap remove_tmp_ EXIT + path_prepend_ ./src + test 1 '!=' 0 + path_dir_=./src + abs_path_dir_=/work/coreutils-2026-11-10/build/./src + PATH=/work/coreutils-2026-11-10/build/./src:/work/coreutils-2026-11-10/build/src:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + create_exe_shims_ /work/coreutils-2026-11-10/build/./src + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ ls + require_built_ ls + skip_=no + test no '=' yes + test yes '=' yes + local i + env ls --version ls (GNU coreutils) 2026-11-10 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 Richard M. Stallman and David MacKenzie. + test -n fr_FR.UTF-8 + test fr_FR.UTF-8 '!=' none + LC_ALL=fr_FR.UTF-8 + export LC_ALL + printf 'a\303\251' + e='aé' + mkdir d + printf 'p\342\200\251q' + printf 'x\342\200\250y' + touch 'd/aé' 'd/p q' 'd/x y' + printf '%s\n' 'aé' 'p\342\200\251q' 'x\342\200\250y' + ls -b d + compare exp out + compare_dev_null_ exp out + test 2 '=' 2 + test xexp '=' x/dev/null + test xout '=' x/dev/null + return 2 + compare_ exp out + LC_ALL=C diff -u exp out + printf '%s\n' '"aé"' '"p\342\200\251q"' '"x\342\200\250y"' + ls '--quoting-style=c' d + compare exp out + compare_dev_null_ exp out + test 2 '=' 2 + test xexp '=' x/dev/null + test xout '=' x/dev/null + return 2 + compare_ exp out + LC_ALL=C diff -u exp out + printf '%s\n' 'aé' ''"'"'p'"'"'$'"'"'\342\200\251'"''"'q'"'" ''"'"'x'"'"'$'"'"'\342\200\250'"''"'y'"'" + ls '--quoting-style=shell-escape' d + compare exp out + compare_dev_null_ exp out + test 2 '=' 2 + test xexp '=' x/dev/null + test xout '=' x/dev/null + return 2 + compare_ exp out + LC_ALL=C diff -u exp out + printf '%s\n' 'aé' 'p?q' 'x?y' + ls -q d + compare exp out + compare_dev_null_ exp out + test 2 '=' 2 + test xexp '=' x/dev/null + test xout '=' x/dev/null + return 2 + compare_ exp out + LC_ALL=C diff -u exp out --- exp +++ out @@ -1,3 +1,3 @@ aé -p?q -x?y +p q +x y + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + test '=' yes + cd /work/coreutils-2026-11-10/build + chmod -R u+rwx /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + rm -rf /work/coreutils-2026-11-10/build/gt-line-separator.sh.6lpK + exit 1 FAIL tests/ls/line-separator.sh (exit status: 1)
FAIL: tests/ls/line-separator ============================= ++ initial_cwd_=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build +++ testdir_prefix_ +++ printf gt ++ pfx_=gt +++ mktempd_ /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build gt-line-separator.sh.XXXX +++ case $# in +++ destdir_=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build +++ template_=gt-line-separator.sh.XXXX +++ MAX_TRIES_=4 +++ case $destdir_ in +++ destdir_slash_=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/ +++ case $template_ in ++++ unset TMPDIR +++ d=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ +++ case $d in +++ : +++ test -d /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ ++++ ls -dgo /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ +++ perms='drwx------ 2 64 Nov 10 02:12 /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ' +++ case $perms in +++ : +++ echo /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ +++ return ++ test_dir_=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ ++ cd /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ ++ 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-11-10/build/src/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/src ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /opt/homebrew/opt/rustup/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/src:/opt/homebrew/opt/rustup/bin ++ 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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/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 /usr/local/bin/. ++ new_PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/./src + case $abs_path_dir_ in + PATH=/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/./src:/Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/src:/opt/homebrew/opt/rustup/bin:/opt/homebrew/lib/ruby/gems/3.4.0/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/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-11-10/build/./src + case $EXEEXT in + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ ls + require_built_ ls + skip_=no + for i in '"$@"' + case " $built_programs " in + test no = yes + test yes = yes + local i + for i in '$*' + env ls --version ls (GNU coreutils) 2026-11-10 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 Richard M. Stallman and David MacKenzie. + test -n fr_FR.UTF-8 + test fr_FR.UTF-8 '!=' none + LC_ALL=fr_FR.UTF-8 + export LC_ALL ++ printf 'a\303\251' + e=aé + mkdir d ++ printf 'p\342\200\251q' ++ printf 'x\342\200\250y' + touch d/aé $'d/p�\200�q' $'d/x�\200�y' + printf '%s\n' aé 'p\342\200\251q' 'x\342\200\250y' + ls -b d + 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 2026-11-10 02:12:44 +++ out 2026-11-10 02:12:44 @@ -1,3 +1,3 @@ aé -p\342\200\251q -x\342\200\250y +p q +x y + fail=1 + printf '%s\n' '"aé"' '"p\342\200\251q"' '"x\342\200\250y"' + ls --quoting-style=c d + 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 2026-11-10 02:12:44 +++ out 2026-11-10 02:12:44 @@ -1,3 +1,3 @@ "aé" -"p\342\200\251q" -"x\342\200\250y" +"p q" +"x y" + fail=1 + printf '%s\n' aé ''\''p'\''$'\''\342\200\251'\'''\''q'\''' ''\''x'\''$'\''\342\200\250'\'''\''y'\''' + ls --quoting-style=shell-escape d + 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 2026-11-10 02:12:44 +++ out 2026-11-10 02:12:44 @@ -1,3 +1,3 @@ aé -'p'$'\342\200\251''q' -'x'$'\342\200\250''y' +p q +x y + fail=1 + printf '%s\n' aé 'p?q' 'x?y' + ls -q d + 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 2026-11-10 02:12:44 +++ out 2026-11-10 02:12:44 @@ -1,3 +1,3 @@ aé -p?q -x?y +p q +x y + 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-11-10/build + chmod -R u+rwx /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ + rm -rf /Users/runner/work/ci-check/ci-check/coreutils-2026-11-10/build/gt-line-separator.sh.zAGQ + exit 1 FAIL tests/ls/line-separator.sh (exit status: 1)
