Repository navigation
Description
This catalogues the remaining GNU coreutils 9.12 test-suite failures so
they can be tracked and worked on individually. It replaces #13841.
Refreshed 2026-11-03 from the GnuTests CI run on main (c6367b8,
native + root + SELinux + SMACK runs aggregated):
720 tests, 665 PASS, 37 FAIL, 3 ERROR, 15 SKIP (September: 571 PASS, 63 FAIL, 5 ERROR, 78 SKIP).
The failure list is identical on the two previous main runs.
Entries fixed since September are folded at the bottom. A PR number next to an
open entry means a fix is under review.
FAILED Tests
- cp/cp-mv-enotsup-xattr.sh (root):
mvto a filesystem without xattr support must warnsetting attributes for ...: Operation not supported- PR mv: warn when the destination doesn't support xattrs #15101 - cut/bounded-memory.sh:
cutmust use bounded memory - PR cut: bound memory usage for streamable selections #15094 - date/date-debug.sh:
date --debugoutput (none of theparsed ... part/warning:lines are printed) - dd/fail-ftruncate-fstat.sh (strace):
ddmust stop copying when ftruncate/fstat fail - dd/misc.sh:
ddand--, plus thestrace-injected error paths - df/over-mount-device.sh (root):
df /dev/loopNmust reportcannot access ...: over-mounted by another device- PR df: report an over-mounted device instead of falling back to statfs #15977 - env/env-signal-handler.sh:
env --default-signal=PIPE,--list-signal-handling- PR env: list the state of the signals, not the actions taken #15186 (part of it) - join/join.pl:
-ofield lists given as separate, unquoted operands (-o 1.1 2.2) - PR join: accept separate -o field operands #15408 - misc/close-stdin.sh: programs run with stdin closed must diagnose EBADF - still
dd,factor,numfmt,stty,tsort - misc/io-errors.sh: programs diagnose write errors (intermittent)
- misc/printenv.sh:
printenvmust honourQUOTING_STYLE- PR printenv: HonorQUOTING_STYLEenvironment variable #14857 - misc/read-errors.sh: programs diagnose read errors
- misc/responsive.sh: programs stay responsive to input - PR make the input responsive #16088
- misc/stdbuf.sh:
stdbufline/block buffering (intermittent) - misc/traversal-missing.sh: traversal races must be ignored (
chmodreportsPermission deniedwhere GNU reports the race) - misc/warning-errors.sh: failure to write warnings is handled gracefully
- misc/write-errors.sh: ~40 utilities still fail to diagnose EBADF/ENOSPC, and
cut -b1- /dev/zeroaborts on a 16MiB allocation - mv/mv-special-1.sh, mv/mv-special-2.sh (root): moving a large file, a device node and a socket across filesystems fails with
Permission denied- see PR mv: recreate special files in directories moved across devices #15123, PR mv: report specific errors instead of generic permission denied on cross-device fallback #16057 - nproc/nproc-quota.sh (strace): cgroup-quota injection for
nproc - od/od.pl: bad
-j/-Narguments quoted as$'a\t'instead of'a\t', and-j/-N/-Soverflow is accepted (exit 0) instead ofargument ... too large- claimed by @ChihweiLHBird - pr/bounded-memory.sh:
pron files larger than memory (intermittent) - pr/options.sh:
prnumeric option diagnostics (invalid page range '0','-l PAGE_LENGTH' invalid number of lines, ...) - PR pr: report invalid numeric options and page ranges as GNU does #15176 - pr/pr-tests.pl: comprehensive
prpage-formatting tests - ptx/ptx.pl: invalid
-S/-Wregex must print a one-lineInvalid regular expressionerror and exit 1 - PR ptx: single-line error for invalid -S regexp #14904 - rm/rm-readdir-fail.sh (LD_PRELOAD): simulates readdir failures - PR rm: overriding the libc call when implementation does not match gnu coreutils exactly #9604
- shred/fifo.sh:
shredon a FIFO -invalid file type/failed to open for writingdiagnostics - PR shred: report a FIFO, a directory and a missing file as GNU does #15182 - shred/shred-remove.sh:
shred --removein an unwritable directory (failed to remove: Permission denied) - tail/debug.sh:
tail --debugoutput - tail/follow-name.sh:
--follow=namemust not imply--retry(intermittent) - tail/inotify-dir-recreate.sh: switch to polling when the directory is recreated (intermittent)
- tail/inotify-rotate-resources.sh:
tail -Fmust not leak inotify resources - tail/pid-pipe.sh:
tail --pid=PID fifoexits responsively (intermittent) - see PR tail: keep named inputs nonblocking with --pid #15479 - wc/wc.pl:
wc -c -mon multibyte input reports the wrong count - PR wc: honor single-byte character locales (fixes the wc test) #16087
SMACK (qemu run)
- id/smack.sh, mkdir/smack-no-root.sh, mkdir/smack-root.sh: the qemu image lacks the test helpers (
print_ver_: not found,require_smack_: not found) - a harness problem, not a utility bug
ERROR Tests
- env/env.sh, env/env0-from.sh:
env --debugmust quote the executed command (executing: './truetrue') - NOTE: upstream is working on changing this - env/printenv.sh (LD_PRELOAD):
printenvwith a corruptedenviron
SKIPPED Tests
- id/gnu-zero-uids.sh:
idmust fail for processes with zero UIDs - install/stdin.sh:
installreading from/dev/stdin - misc/tty-quoting.sh: quoting when stdout is a terminal
- sort/sort-locale.sh: locale-aware
sortordering - wc/wc-sjis.sh: Shift_JIS counting (locale missing on the runner)
Skipped on purpose or for lack of runner support: misc/getopt_vs_usage.sh
and misc/usage_vs_refs.sh (patched out in util/gnu-patches/, PR #14717),
chcon/traversal-missing.sh, df/skip-rootfs.sh, ls/no-cap.sh.
INCOMPATIBLE Tests
Tests using LD_PRELOAD or gdb breakpoints cannot be fixed without matching
internal implementation details (skipped in CI):
- cp/nfs-removal-race.sh (LD_PRELOAD): NFS client removal race during
cp S D - df/skip-duplicates.sh (LD_PRELOAD): duplicate mount-list entry injection
- rm/r-root.sh (LD_PRELOAD + gdb): tries to remove
/recursively - tail/inotify-race.sh, tail/inotify-race2.sh (gdb): races during the initial read
Several failures above (dd/fail-ftruncate-fstat, dd/misc,
misc/read-errors, misc/traversal-missing, nproc/nproc-quota,
shred/fifo, tail/debug) use strace fault injection; they are not
structurally impossible - they fail because our syscall sequence or our error
messages differ.
Fixed since September
- printf/printf.sh, seq/seq-precision.sh: panic on a large
%fprecision - PR uucore: do not panic on a %f precision above the formatter limit #14714 - misc/write-errors.sh (numfmt part):
numfmtpanic on ENOSPC - PR numfmt: diagnose write errors instead of panicking #14715 - shuf/shuf.sh: panic when
getrandomfails,--input-rangewith operands - PR shuf: don't panic when getrandom failed (tests/shuf/shuf.sh) #14744 - cat/cat-distinct-err.sh: distinguish read and write errors - PR cat: distinguish read and write errors #14721
- comm/dash-dash.sh:
comm - -hang - PR comm: avoid deadlock when both inputs use stdin #15249 - csplit/csplit.sh: empty
//pattern - PR csplit: accept an empty regex and report the split in progress on error #14716 - date/date.pl, date/date-tz.sh - PR date: expand GNU-compatible parsing and formatting #15111
- date/date-locale-hour.sh
- dd/nocache.sh: failed cache drop on a pipe - PR dd: ignore a failed cache drop while copying #14748
- dd/nocache_fail.sh
- df/df-output.sh:
-mwith--output- PR df: support -m with --output #14742 - du/block-size.sh: unit suffix with
--block-size/BLOCK_SIZE - du/max-depth.sh: negative
--max-depth- PR du: reject a negative --max-depth like GNU #14709 - fold/fold.pl: ERANGE wording - PR fold: report ERANGE like GNU for out-of-range column counts #14706
- head/quote-headers.sh, tail/quote-headers.sh, tail/pipe-f.sh - PR head, tail: quote file names in the '==> name <==' headers #14710
- ls/color-symlink-target.sh - PR ls: diagnose an unparsable LS_COLORS as an error, not a warning #14708
- ls/ls-time.sh: locale time style
- ls/m-option.sh - PR ls: fix -m line wrapping and quoting #14743
- misc/getopt_vs_usage.sh, misc/usage_vs_refs.sh: now skipped - PR GnuTests: skip getopt_vs_usage.sh, of little value for us #14717
- misc/just-created.sh - PR install: do not overwrite just-created files #14724
- mv/i-3.sh
- ptx/word-regex-loop.sh - PR ptx: skip empty word-regexp matches #14722
- rm/ext3-perf.sh, rm/many-dir-entries-vs-OOM.sh:
Argument list too longset-up error - sort/sort.pl, sort/sort-buffer-size.sh, sort/sort-compress-proc.sh, sort/sort-stale-thread-mem.sh
- split/split-io-err.sh - PR split: avoid opening output for empty input #14973
- stat/stat-fmt.sh, stat/stat-nanoseconds.sh
- stty/* (bad-speed, stty, stty-invalid, stty-pairs, stty-row-col)
- tail/follow-symlink.sh, tail/symlink.sh
- tee/short-write.sh
- test/test.pl:
-l STRING,-o/-aas literals - PR test: make all gnu test pass and fix access issue #14966 - unexpand/unexpand.pl - PR unexpand: match GNU wording for a too-large tab stop #14707
Activity
sylvestre commentedon Sep 19, 2026
Note: this is our top priority, more than code improvements or refactors!
oech3 commentedon Sep 19, 2026
nproc-quota.sh uses
strace, notLD_PRELOAD.If we use different syscalls at some
stracetests, I'll add them to upstream.ChihweiLHBird commentedon Sep 20, 2026
@sylvestre can I work on
dd/nocache.sh,if they are not claimed by others?df/df-output.sh,ptx/ptx.pl, andod/od.ploech3 commentedon Sep 20, 2026
df-output is done at #14742
QUOTING_STYLE#14941anastygnome commentedon Oct 4, 2026
test.pl is done after #14966
anastygnome commentedon Oct 5, 2026
I have a working version of all date tests. I'm reviewing before making a PR ;)
oech3 commentedon Oct 7, 2026
Ignore dd/nocache_fail.sh . I'll fix the test at upstream.
ChihweiLHBird commentedon Oct 18, 2026
For issue
od/od.pl: od quotes bad -j/-N arguments as $'a\t' instead of 'a\t', the PR link returns 404. Is the fix still in progress? If not, can I work on it?sylvestre commentedon Oct 18, 2026
@ChihweiLHBird sure, thanks
anastygnome commentedon Oct 31, 2026
WC is handled by #16087
[-]GNU coreutils 9.12: remaining test failures - Sept 2026[/-][+]GNU coreutils 9.12: remaining test failures - Nov 2026[/+]