From: Tomas Volf <~@wolfsden.cz>
To: 72547@debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: bug#72547: [PATCH 3/9] tests: Skip hole-related port tests on Darwin.
Date: Sat, 10 Aug 2024 00:54:29 +0200 [thread overview]
Message-ID: <20240809225435.19028-3-~@wolfsden.cz> (raw)
In-Reply-To: <20240809225435.19028-1-~@wolfsden.cz>
Hole are itself a file-system specific feature and they are not
mandated. While APFS does support sparse files, they do not behave like
on Linux. I did not discover exact rules, but the file needs to be
large (100s of kB at least) and the holes are not aligned as the test
code expects. So just disable them.
* test-suite/tests/ports.test (skip-on-darwin): New procedure.
("size of sparse file", "SEEK_DATA while on data")
("SEEK_DATA while in hole", "SEEK_HOLE while in hole"): Skip on Darwin.
---
test-suite/tests/ports.test | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test
index 7b5b535e7..3fde402b4 100644
--- a/test-suite/tests/ports.test
+++ b/test-suite/tests/ports.test
@@ -39,6 +39,10 @@
(define (test-file)
(data-file-name "ports-test.tmp"))
+(define (skip-on-darwin)
+ (when (string-ci=? "darwin" (vector-ref (uname) 0))
+ (throw 'untested)))
+
\f
;;;; Some general utilities for testing ports.
@@ -185,6 +189,7 @@
(close-port iport))
(delete-file filename))
+;;; Note: Holes are weird on Darwin.
(let* ((file (test-file))
(port (open-output-file file)))
(seek port 4096 SEEK_SET)
@@ -193,10 +198,12 @@
(pass-if-equal "size of sparse file"
4100
+ (skip-on-darwin)
(stat:size (stat file)))
(pass-if-equal "SEEK_DATA while on data"
4096
+ (skip-on-darwin)
(if (defined? 'SEEK_DATA)
(call-with-input-file file
(lambda (port)
@@ -209,6 +216,7 @@
(pass-if-equal "SEEK_DATA while in hole"
4096
+ (skip-on-darwin)
(if (defined? 'SEEK_DATA)
(call-with-input-file file
(lambda (port)
@@ -221,6 +229,7 @@
(pass-if-equal "SEEK_HOLE while in hole"
10
+ (skip-on-darwin)
(if (defined? 'SEEK_HOLE)
(call-with-input-file file
(lambda (port)
--
2.45.2
next prev parent reply other threads:[~2024-08-09 22:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-09 22:47 bug#72547: [PATCH 0/9] Make test suite pass on macOS Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 1/9] tests: Check TCP_NODELAY for non-zero instead of 1 Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 2/9] tests: Skip tests of abstract Unix sockets on Darwin Tomas Volf
2024-08-09 22:54 ` Tomas Volf [this message]
2024-10-20 19:18 ` bug#72547: [PATCH 3/9] tests: Skip hole-related port tests " Ludovic Courtès
2024-10-21 21:31 ` Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 4/9] filesys.c: Fix readlink for ports " Tomas Volf
2024-10-20 19:20 ` Ludovic Courtès
2024-08-09 22:54 ` bug#72547: [PATCH 5/9] tests: Skip mkdtemp test for invalid template " Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 6/9] tests: Fix spawn with #:environment on MacOS Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 7/9] tests: Fix spawn if file not found with Gnulib Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 8/9] Do not depend on tmpnam in posix.test Tomas Volf
2024-08-09 22:54 ` bug#72547: [PATCH 9/9] posix.c: Set errno when pipe2 is not available and flags provided Tomas Volf
2024-10-20 19:19 ` Ludovic Courtès
2024-10-20 19:17 ` bug#72547: [PATCH 0/9] Make test suite pass on macOS Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='20240809225435.19028-3-~@wolfsden.cz' \
--to=~@wolfsden.cz \
--cc=72547@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).