guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 08/13: tests: Skip mkdtemp test for invalid template on


From: Ludovic Courtès
Subject: [Guile-commits] 08/13: tests: Skip mkdtemp test for invalid template on Darwin.
Date: Sun, 20 Oct 2024 15:23:22 -0400 (EDT)

civodul pushed a commit to branch main
in repository guile.

commit 8579b73abace8c3e3469b23883190be0ce431b53
Author: Tomas Volf <~@wolfsden.cz>
AuthorDate: Sat Aug 10 00:54:31 2024 +0200

    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>
---
 test-suite/tests/filesys.test | 5 +++++
 1 file changed, 5 insertions(+)

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")))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]