| diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test
|
| index 82881aa28..005c5bcf6 100644
|
| --- a/test-suite/tests/ports.test
|
| +++ b/test-suite/tests/ports.test
|
| @@ -191,13 +191,16 @@
|
|
|
| ;;; Note: Holes are weird on Darwin.
|
| (let* ((file (test-file))
|
| - (port (open-output-file file)))
|
| - (seek port 4096 SEEK_SET)
|
| + (port (open-output-file file))
|
| + (hole-size (if (string-ci=? "FreeBSD" (utsname:sysname (uname)))
|
| + 32768
|
| + 4096)))
|
| + (seek port hole-size SEEK_SET)
|
| (display "bye." port)
|
| (close-port port)
|
|
|
| (pass-if-equal "size of sparse file"
|
| - 4100
|
| + (+ 4 hole-size)
|
| ;; XXX: On macOS, APFS does support sparse files, they do not behave
|
| ;; like on Linux. Skip these tests on macOS.
|
| (skip-on-darwin)
|
| @@ -205,20 +208,20 @@
|
| (stat:size (stat file)))
|
|
|
| (pass-if-equal "SEEK_DATA while on data"
|
| - 4096
|
| + hole-size
|
| (skip-on-darwin)
|
| (if (defined? 'SEEK_DATA)
|
| (call-with-input-file file
|
| (lambda (port)
|
| (catch 'system-error
|
| (lambda ()
|
| - (seek port 4096 SEEK_DATA))
|
| + (seek port hole-size SEEK_DATA))
|
| (lambda _
|
| (throw 'unresolved)))))
|
| (throw 'unresolved)))
|
|
|
| (pass-if-equal "SEEK_DATA while in hole"
|
| - 4096
|
| + hole-size
|
| (skip-on-darwin)
|
| (if (defined? 'SEEK_DATA)
|
| (call-with-input-file file
|