summaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorMike Gran <spk121@yahoo.com>2022-09-20 19:30:38 -0700
committerMike Gran <spk121@yahoo.com>2022-09-20 19:30:38 -0700
commit775149f0f55d8cdb9543a1d10d6835ad9e5ce0c7 (patch)
tree134e7754aaaed4b18bdbe8f71175409683233ce5 /test-suite
parent130463be2a38278f6b3057a4c4090b9d21d4bbcd (diff)
downloadguile-775149f0f55d8cdb9543a1d10d6835ad9e5ce0c7.tar.gz
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
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/tests/ftw.test74
1 files 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)