guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 01/02: in ftw test, don't presume symlink is defined


From: Mike Gran
Subject: [Guile-commits] 01/02: in ftw test, don't presume symlink is defined
Date: Tue, 20 Sep 2022 23:24:21 -0400 (EDT)

mike121 pushed a commit to branch main
in repository guile.

commit 775149f0f55d8cdb9543a1d10d6835ad9e5ce0c7
Author: Mike Gran <spk121@yahoo.com>
AuthorDate: Tue Sep 20 19:30:38 2022 -0700

    in ftw test, don't presume symlink is defined
    
    * test-suite/tests/ftw.test (dangling symlink and lstat)
      (dangling symlink and stat, symlink to directory):
        skip if symlink undefined
---
 test-suite/tests/ftw.test | 74 +++++++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 34 deletions(-)

diff --git a/test-suite/tests/ftw.test b/test-suite/tests/ftw.test
index 4d210dd7a..454013a29 100644
--- a/test-suite/tests/ftw.test
+++ b/test-suite/tests/ftw.test
@@ -253,37 +253,41 @@
               (file-system-fold enter? leaf down up skip error '() name))))))
 
   (pass-if "dangling symlink and lstat"
-    (with-file-tree %top-builddir '(directory "test-dangling"
-                                              (("dangling" -> "xxx")))
-      (let ((enter? (lambda (n s r) #t))
-            (leaf   (lambda (n s r) (cons `(leaf ,n) r)))
-            (down   (lambda (n s r) (cons `(down ,n) r)))
-            (up     (lambda (n s r) (cons `(up ,n) r)))
-            (skip   (lambda (n s r) (cons `(skip ,n) r)))
-            (error  (lambda (n s e r) (cons `(error ,n ,e) r)))
-            (name   (string-append %top-builddir "/test-dangling")))
-        (equal? (file-system-fold enter? leaf down up skip error '()
-                                  name)
-                `((up   ,name)
-                  (leaf ,(string-append name "/dangling"))
-                  (down ,name))))))
+    (if (not (defined? 'symlink))
+        (throw 'unresolved)
+        (with-file-tree %top-builddir '(directory "test-dangling"
+                                                  (("dangling" -> "xxx")))
+          (let ((enter? (lambda (n s r) #t))
+                (leaf   (lambda (n s r) (cons `(leaf ,n) r)))
+                (down   (lambda (n s r) (cons `(down ,n) r)))
+                (up     (lambda (n s r) (cons `(up ,n) r)))
+                (skip   (lambda (n s r) (cons `(skip ,n) r)))
+                (error  (lambda (n s e r) (cons `(error ,n ,e) r)))
+                (name   (string-append %top-builddir "/test-dangling")))
+            (equal? (file-system-fold enter? leaf down up skip error '()
+                                      name)
+                    `((up   ,name)
+                      (leaf ,(string-append name "/dangling"))
+                      (down ,name)))))))
 
   (pass-if "dangling symlink and stat"
     ;; Same as above, but using `stat' instead of `lstat'.
-    (with-file-tree %top-builddir '(directory "test-dangling"
-                                              (("dangling" -> "xxx")))
-      (let ((enter? (lambda (n s r) #t))
-            (leaf   (lambda (n s r) (cons `(leaf ,n) r)))
-            (down   (lambda (n s r) (cons `(down ,n) r)))
-            (up     (lambda (n s r) (cons `(up ,n) r)))
-            (skip   (lambda (n s r) (cons `(skip ,n) r)))
-            (error  (lambda (n s e r) (cons `(error ,n ,e) r)))
-            (name   (string-append %top-builddir "/test-dangling")))
-        (equal? (file-system-fold enter? leaf down up skip error '()
-                                  name stat)
-                `((up    ,name)
-                  (error ,(string-append name "/dangling") ,ENOENT)
-                  (down  ,name)))))))
+    (if (not (defined? 'symlink))
+        (throw 'unresolved)
+        (with-file-tree %top-builddir '(directory "test-dangling"
+                                                  (("dangling" -> "xxx")))
+          (let ((enter? (lambda (n s r) #t))
+                (leaf   (lambda (n s r) (cons `(leaf ,n) r)))
+                (down   (lambda (n s r) (cons `(down ,n) r)))
+                (up     (lambda (n s r) (cons `(up ,n) r)))
+                (skip   (lambda (n s r) (cons `(skip ,n) r)))
+                (error  (lambda (n s e r) (cons `(error ,n ,e) r)))
+                (name   (string-append %top-builddir "/test-dangling")))
+            (equal? (file-system-fold enter? leaf down up skip error '()
+                                      name stat)
+                    `((up    ,name)
+                      (error ,(string-append name "/dangling") ,ENOENT)
+                      (down  ,name))))))))
 
 (with-test-prefix "file-system-tree"
 
@@ -350,12 +354,14 @@
   ;; In Guile up to 2.0.6, this would return ("." ".." "link-to-dir").
   (pass-if-equal "symlink to directory"
       '("." ".." "link-to-dir" "subdir")
-    (with-file-tree %top-builddir '(directory "test-scandir-symlink"
-                                              (("link-to-dir" -> "subdir")
-                                               (directory "subdir"
-                                                          (("a")))))
-      (let ((name (string-append %top-builddir "/test-scandir-symlink")))
-        (scandir name)))))
+    (if (not (defined? 'symlink))
+        (throw 'unresolved)
+        (with-file-tree %top-builddir '(directory "test-scandir-symlink"
+                                                  (("link-to-dir" -> "subdir")
+                                                   (directory "subdir"
+                                                              (("a")))))
+          (let ((name (string-append %top-builddir "/test-scandir-symlink")))
+            (scandir name))))))
 
 ;;; Local Variables:
 ;;; eval: (put 'with-file-tree 'scheme-indent-function 2)



reply via email to

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