summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2024-08-10 00:54:31 +0200
committerLudovic Courtès <ludo@gnu.org>2024-10-20 21:22:23 +0200
commit8579b73abace8c3e3469b23883190be0ce431b53 (patch)
treee8e144552ce35a3987ee8af0af12d76dbd02de76
parent0ceb0036c3a2efdd8d5b0da0c68d15b67fe24689 (diff)
downloadguile-8579b73abace8c3e3469b23883190be0ce431b53.tar.gz
tests: Skip mkdtemp test for invalid template on Darwin.
Darwin accepts any template, as demonstrated here: #include <stdio.h> #include <unistd.h> int main(void) { char template[] = {'T', '-', 'A', 'A', 'A', 'A', 'A', 'A', '\0'}; char *res = mkdtemp(template); puts(res ? res : "(null)"); perror("mkdtemp"); } Outputs: T-AAAAAA mkdtemp: Undefined error: 0 This does not match prescribed POSIX behavior, but it is what it is. * test-suite/tests/filesys.test (skip-on-darwin): New procedure. ("mkdtemp")["invalid template"]: Skip on Darwin. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--test-suite/tests/filesys.test5
1 files changed, 5 insertions, 0 deletions
diff --git a/test-suite/tests/filesys.test b/test-suite/tests/filesys.test
index fa8d6f797..4cdc57c23 100644
--- a/test-suite/tests/filesys.test
+++ b/test-suite/tests/filesys.test
@@ -34,6 +34,9 @@
(define (test-directory2)
(data-file-name "filesys-test-dir2.tmp"))
+(define (skip-on-darwin)
+ (when (string-ci=? "darwin" (utsname:sysname (uname)))
+ (throw 'untested)))
;;;
;;; copy-file
@@ -345,6 +348,8 @@
(= (string-length name) 8)))))
(pass-if-exception "invalid template" exception:system-error
+ ;; MacOS accepts any template and just does no replacements.
+ (skip-on-darwin)
(if (not (defined? 'mkdtemp))
(throw 'unresolved)
(mkdtemp "T-AAAAAA")))