summaryrefslogtreecommitdiff
path: root/test-suite/tests/ports.test
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/tests/ports.test')
-rw-r--r--test-suite/tests/ports.test12
1 files changed, 12 insertions, 0 deletions
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)