diff options
author | Mike Gran <spk121@yahoo.com> | 2022-09-20 19:30:38 -0700 |
---|---|---|
committer | Mike Gran <spk121@yahoo.com> | 2022-09-20 19:30:38 -0700 |
commit | 775149f0f55d8cdb9543a1d10d6835ad9e5ce0c7 (patch) | |
tree | 134e7754aaaed4b18bdbe8f71175409683233ce5 /test-suite | |
parent | 130463be2a38278f6b3057a4c4090b9d21d4bbcd (diff) | |
download | guile-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.test | 74 |
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) |