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)

  • ls/line-separator test f... Bruno Haible via GNU coreutils General Discussion

Reply via email to