Hi, Doing "make check" of current coreutils on Alpine Linux 3.18, I see a test failure that I didn't see with the coreutils-9.3 release:
FAIL: tests/sort/sort-debug-keys I'm attaching the relevant part of tests/test-suite.log. Bruno
====================================================== GNU coreutils 2023-08-13: ./tests/test-suite.log ====================================================== # TOTAL: 645 # PASS: 431 # SKIP: 211 # XFAIL: 0 # FAIL: 3 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: tests/sort/sort-debug-keys ================================ + initial_cwd_=/home/bruno/coreutils-2023-08-13/build + testdir_prefix_ + printf gt + pfx_=gt + mktempd_ /home/bruno/coreutils-2023-08-13/build gt-sort-debug-keys.sh.XXXX + destdir_=/home/bruno/coreutils-2023-08-13/build + template_=gt-sort-debug-keys.sh.XXXX + MAX_TRIES_=4 + destdir_slash_=/home/bruno/coreutils-2023-08-13/build/ + unset TMPDIR + d=/home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + : + test -d /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + ls -dgo /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + perms='drwx--S--- 2 4096 Sep 13 08:45 /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq' + : + echo /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + return + test_dir_=/home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + cd /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + 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= + sep_= + test -d /home/bruno/coreutils-2023-08-13/build/src/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src + sep_=: + test -d /home/bruno/bin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin + sep_=: + test -d /usr/local/bin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin + sep_=: + test -d /usr/sbin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin:/usr/sbin + sep_=: + test -d /usr/bin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin:/usr/sbin:/usr/bin + sep_=: + test -d /sbin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin + sep_=: + test -d /bin/. + new_PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + sep_=: + IFS=' ' + PATH=/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/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_=/home/bruno/coreutils-2023-08-13/build/./src + PATH=/home/bruno/coreutils-2023-08-13/build/./src:/home/bruno/coreutils-2023-08-13/build/src:/home/bruno/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + create_exe_shims_ /home/bruno/coreutils-2023-08-13/build/./src + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ sort printf + require_built_ sort printf + skip_=no + test no '=' yes + test yes '=' yes + local i + env sort --version sort (GNU coreutils) 2023-08-13 Copyright (C) 2023 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 Mike Haertel and Paul Eggert. + env printf --version printf (GNU coreutils) 2023-08-13 Copyright (C) 2023 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. + cat + sort -s -k2n --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1.3n --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1n --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k2g --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + number + printf '2\n\n1\n' + sed 's/^ *//' + cat -n + sort -s -k2h --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1.3h --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1h --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k2g --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + number + printf '2\n\n1\n' + sed 's/^ *//' + cat -n + sort -s -k2g --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1.3g --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k1g --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '1\n\n44\n33\n2\n' + sort -s -k2g --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + number + printf '2\n\n1\n' + sed 's/^ *//' + cat -n + sort -s -k1M --debug sort: text ordering performed using simple byte comparison + printf 'FEB\n\nJAN\n' + sort -s -k2,2M --debug sort: text ordering performed using simple byte comparison + printf 'FEB\n\nJAN\n' + sort -s -k1M --debug sort: text ordering performed using simple byte comparison + printf 'FEB\nJAZZ\n\nJAN\n' + sort -s -k2,2M --debug sort: text ordering performed using simple byte comparison + number + printf 'FEB\nJAZZ\n\nJAN\n' + sed 's/^ *//' + cat -n + sort -s -k1M --debug sort: text ordering performed using simple byte comparison + printf 'FEB\nJANZ\n\nJAN\n' + sort -s -k2,2M --debug sort: text ordering performed using simple byte comparison + number + printf 'FEB\nJANZ\n\nJAN\n' + sed 's/^ *//' + cat -n + sort -s -g --debug sort: text ordering performed using simple byte comparison sort: note numbers use '.' as a decimal point in this locale + printf ' 1.2ignore\n 1.1e4ignore\n' + sort -s -d --debug sort: text ordering performed using simple byte comparison + printf '\tb\n\t\ta\n' + sort -s -k2,2 --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' + printf 'a\n\n' + sort -s -k1 --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' + printf 'b\na\n' + sort -s --debug -k1,1h sort: text ordering performed using simple byte comparison sort: note numbers use '.' as a decimal point in this locale + printf -- '-0\n1\n-2\n--Mi-1\n-3\n-0\n' + sort -b --debug sort: text ordering performed using simple byte comparison + printf ' 1\n1\n' + sort -sb --debug sort: text ordering performed using simple byte comparison + printf ' 1\n1\n' + sort --debug sort: text ordering performed using simple byte comparison + printf ' 1\n1\n' + sort -s -k1n --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '2,5\n2.4\n' + sort -s -k1n --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '2.,,3\n2.4\n' + sort -s -k1n --debug sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + printf '2,,3\n2.4\n' + sort -s -n -z --debug sort: text ordering performed using simple byte comparison sort: note numbers use '.' as a decimal point in this locale + env printf '1a\x002b\x00' + tr -d '\0' + sort -s -k2b,2 --debug sort: text ordering performed using simple byte comparison + printf '\0\ta\n' + sort -s -k2.4b,2.3n --debug sort: text ordering performed using simple byte comparison sort: leading blanks are significant in key 1; consider also specifying 'b' sort: note numbers use '.' as a decimal point in this locale + printf 'A\tchr10\nB\tchr1\n' + sort -s -k1.2b --debug sort: text ordering performed using simple byte comparison + printf '1 2\n1 3\n' + 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 + cat + unset LC_ALL + f=fr_FR.UTF-8 + : fr_FR.UTF-8 + test fr_FR.UTF-8 '!=' none + sed 's/^^ .*/^ no match for key/' + LC_ALL=C sort --debug -k2g -k1b,1 sort: text ordering performed using simple byte comparison sort: key 1 is numeric and spans multiple fields sort: note numbers use '.' as a decimal point in this locale + echo ' 1²---++3 1,234 Mi' + LC_ALL=fr_FR.UTF-8 sort --debug -k2g -k1b,1 sort: text ordering performed using ‘fr_FR.UTF-8’ sorting rules sort: key 1 is numeric and spans multiple fields sort: note numbers use ‘.’ as a decimal point in this locale + echo ' 1²---++3 1,234 Mi' + LC_ALL=fr_FR.UTF-8 sort --debug -k1,1n -k1,1g -k1,1h -k2,2n -k2,2g -k2,2h -k3,3n -k3,3g -k3,3h sort: text ordering performed using ‘fr_FR.UTF-8’ sorting rules sort: note numbers use ‘.’ as a decimal point in this locale + echo '+1234 1234Gi 1,234M' + 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 @@ -3,7 +3,7 @@ _________ ________________________ 1²---++3 1,234 Mi - _____ + _ ________ _______________________ +1234 1234Gi 1,234M @@ -13,7 +13,7 @@ ____ ____ _____ - _____ - _____ - ______ + _ + _ + _ ___________________ + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + test '=' yes + cd /home/bruno/coreutils-2023-08-13/build + chmod -R u+rwx /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + rm -rf /home/bruno/coreutils-2023-08-13/build/gt-sort-debug-keys.sh.VmIq + exit 1 FAIL tests/sort/sort-debug-keys.sh (exit status: 1)