Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions util/gnu-unfixable-tests.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# GNU test-suite entries left out of the uutils pass/fail percentages.
#
# They do not check observable behavior, they check that the binary is built
# like GNU's: they place gdb breakpoints in GNU's own C sources, or interpose a
# specific libc entry point with LD_PRELOAD and give up when it is not called.
# Passing them would mean reshaping our internals to match GNU's rather than
# fixing anything a user can see.
#
# The list is consumed by the tracking repo
# (https://github.com/uutils/coreutils-tracking) so the numbers describe the
# tests we can actually influence. Tests that are merely hard, unimplemented or
# intermittent do NOT belong here - they stay counted on purpose. See
# https://github.com/uutils/coreutils/issues/13841
#
# Format: one "<util>/<test>.log" entry per line, '#' starts a comment. That is
# the log name the results are keyed by; the source in the GNU tree is the same
# path with a .sh (or .pl) extension.


# --- Structurally impossible ---------------------------------------------
# Nothing we can write in Rust makes these run.

# Both grep a line number out of GNU's C source ("^excise" in src/remove.c,
# "^tail_forever_inotify" in src/tail.c) and break there, so the breakpoint can
# only resolve for a binary compiled from those files.
rm/r-root.log
tail/inotify-race.log
tail/inotify-race2.log

# require_gnu_ is "test $(uname) = GNU"; skipped on Linux for GNU coreutils too.
id/gnu-zero-uids.log


# --- Require matching GNU's libc entry points ----------------------------
# LD_PRELOAD does fire for Rust binaries, but each of these overrides the one
# symbol GNU happens to call and self-skips otherwise. We would have to route
# through that same symbol - in df's case dropping /proc/self/mountinfo for
# getmntent/mtab - purely so the interception lands.

Check warning on line 38 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'getmntent' (file:'util/gnu-unfixable-tests.txt', line:38)

# overrides __xstat/stat; std uses statx

Check warning on line 40 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'xstat' (file:'util/gnu-unfixable-tests.txt', line:40)
cp/nfs-removal-race.log
# overrides ftruncate/fstat

Check warning on line 42 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'ftruncate' (file:'util/gnu-unfixable-tests.txt', line:42)
dd/fail-ftruncate-fstat.log

Check warning on line 43 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'ftruncate' (file:'util/gnu-unfixable-tests.txt', line:43)
# needs HAVE_GETMNTENT, overrides fopen on the mtab

Check warning on line 44 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'fopen' (file:'util/gnu-unfixable-tests.txt', line:44)

Check warning on line 44 in util/gnu-unfixable-tests.txt

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

WARNING: `cspell`: Unknown word 'GETMNTENT' (file:'util/gnu-unfixable-tests.txt', line:44)
df/skip-duplicates.log
# overrides readdir; std uses readdir64
rm/rm-readdir-fail.log
Loading