Subject: Re: tests/dd/skip-seek-past-file failure on macOS

From: Paul Eggert <[email-masked]>
Date: Sat, 15 Feb 2025 22:38:56 -0800

On 2024-11-18 20:28, Grisha Levit wrote:
> tests/dd/skip-seek-past-file.sh fails on macOS 15 when checking for a
> warning being printed when seeking past the max file size [1].

Thanks, I installed the attached patch a couple of days after your bug 
report, but unfortunately forgot to reply to your email until now. This 
patch appears in coreutils 9.6.

From cc58b657361bf6d5467753ee547d3a1266a6cc7f Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Wed, 20 Nov 2024 11:11:54 -0800
Subject: [PATCH] dd: port big-offset test to macOS 12.6

* tests/dd/skip-seek-past-file.sh: Do not assume that
seek to exactly OFF_T_MAX should fail; it works on macOS 12.6
and POSIX allows this.  Come to think of it, it should work
on Solaris too, if someone ever comes across a Solaris host
with a file system that allows such files.
---
 tests/dd/skip-seek-past-file.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/dd/skip-seek-past-file.sh b/tests/dd/skip-seek-past-file.sh
index 41b34e99a..9dffc2e68 100755
--- a/tests/dd/skip-seek-past-file.sh
+++ b/tests/dd/skip-seek-past-file.sh
@@ -74,14 +74,14 @@ grep "invalid number:" err >/dev/null || fail=1
 # skipping > max file size should fail immediately
 if ! truncate --size=$OFF_T_MAX in 2>/dev/null; then
   # truncate is to ensure file system doesn't actually support OFF_T_MAX files
-  dd bs=1 skip=$OFF_T_MAX count=0 status=noxfer < file 2> err \
+  dd bs=1 skip=$OFF_T_MAX count=0 status=none < file 2> err \
     && lseek_ok=yes \
     || lseek_ok=no
 
   if test $lseek_ok = yes; then
     # On Solaris 10 at least, lseek(>max file size) succeeds,
-    # so just check for the skip warning.
-    compare skip_err err || fail=1
+    # so just check that there are no diagnostics.
+    compare /dev/null err || fail=1
   else
     # On Linux kernels at least, lseek(>max file size) fails.
     # error message should be "... cannot skip: strerror(EINVAL)"
-- 
2.48.1