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