diff options
author | Tomas Volf <~@wolfsden.cz> | 2024-08-10 00:54:31 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-10-20 21:22:23 +0200 |
commit | 8579b73abace8c3e3469b23883190be0ce431b53 (patch) | |
tree | e8e144552ce35a3987ee8af0af12d76dbd02de76 | |
parent | 0ceb0036c3a2efdd8d5b0da0c68d15b67fe24689 (diff) | |
download | guile-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.test | 5 |
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"))) |