[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 06/13: tests: Skip hole-related port tests on Darwin.
From: |
Ludovic Courtès |
Subject: |
[Guile-commits] 06/13: tests: Skip hole-related port tests on Darwin. |
Date: |
Sun, 20 Oct 2024 15:23:22 -0400 (EDT) |
civodul pushed a commit to branch main
in repository guile.
commit 21e3e1c420ace116961ecdf0001c289c28fa73c6
Author: Tomas Volf <~@wolfsden.cz>
AuthorDate: Sat Aug 10 00:54:29 2024 +0200
tests: Skip hole-related port tests on Darwin.
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.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
test-suite/tests/ports.test | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test
index 7b5b535e7..bec5e356c 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" (utsname:sysname (uname)))
+ (throw 'untested)))
+
;;;; 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,15 @@
(pass-if-equal "size of sparse file"
4100
+ ;; XXX: On macOS, APFS does support sparse files, they do not behave
+ ;; like on Linux. Skip these tests on macOS.
+ (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 +219,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 +232,7 @@
(pass-if-equal "SEEK_HOLE while in hole"
10
+ (skip-on-darwin)
(if (defined? 'SEEK_HOLE)
(call-with-input-file file
(lambda (port)
- [Guile-commits] branch main updated (08e26836f -> faa8ab8a8), Ludovic Courtès, 2024/10/20
- [Guile-commits] 01/13: Replace SRFI-64 with a new implementation., Ludovic Courtès, 2024/10/20
- [Guile-commits] 07/13: filesys.c: Fix readlink for ports on Darwin., Ludovic Courtès, 2024/10/20
- [Guile-commits] 05/13: tests: Skip tests of abstract Unix sockets on Darwin., Ludovic Courtès, 2024/10/20
- [Guile-commits] 03/13: Fix typo in dynamic wind documentation., Ludovic Courtès, 2024/10/20
- [Guile-commits] 02/13: Fix gbt command in gdbinit, Ludovic Courtès, 2024/10/20
- [Guile-commits] 04/13: tests: Check TCP_NODELAY for non-zero instead of 1., Ludovic Courtès, 2024/10/20
- [Guile-commits] 10/13: tests: Fix spawn if file not found with Gnulib., Ludovic Courtès, 2024/10/20
- [Guile-commits] 08/13: tests: Skip mkdtemp test for invalid template on Darwin., Ludovic Courtès, 2024/10/20
- [Guile-commits] 06/13: tests: Skip hole-related port tests on Darwin.,
Ludovic Courtès <=
- [Guile-commits] 11/13: Do not depend on tmpnam in posix.test., Ludovic Courtès, 2024/10/20
- [Guile-commits] 09/13: tests: Fix spawn with #:environment on MacOS., Ludovic Courtès, 2024/10/20
- [Guile-commits] 12/13: posix.c: Set errno when pipe2 is not available and flags provided., Ludovic Courtès, 2024/10/20
- [Guile-commits] 13/13: Update NEWS., Ludovic Courtès, 2024/10/20