summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gexp.scm23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 7e14073fd4..32031663f5 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -101,7 +101,7 @@
   (let* ((file  (search-path %load-path "guix.scm"))
          (local (local-file file))
          (exp   (gexp (display (ungexp local))))
-         (intd  (add-to-store %store (basename file) #t
+         (intd  (add-to-store %store (basename file) #f
                               "sha256" file)))
     (and (gexp? exp)
          (match (gexp-inputs exp)
@@ -109,6 +109,25 @@
             (eq? x local)))
          (equal? `(display ,intd) (gexp->sexp* exp)))))
 
+(test-assert "one local file, symlink"
+  (let ((file (search-path %load-path "guix.scm"))
+        (link (tmpnam)))
+    (dynamic-wind
+      (const #t)
+      (lambda ()
+        (symlink (canonicalize-path file) link)
+        (let* ((local (local-file link "my-file" #:recursive? #f))
+               (exp   (gexp (display (ungexp local))))
+               (intd  (add-to-store %store "my-file" #f
+                                    "sha256" file)))
+          (and (gexp? exp)
+               (match (gexp-inputs exp)
+                 (((x "out"))
+                  (eq? x local)))
+               (equal? `(display ,intd) (gexp->sexp* exp)))))
+      (lambda ()
+        (false-if-exception (delete-file link))))))
+
 (test-assert "one plain file"
   (let* ((file     (plain-file "hi" "Hello, world!"))
          (exp      (gexp (display (ungexp file))))
@@ -360,7 +379,7 @@
 
 (test-assertm "gexp->derivation, local-file"
   (mlet* %store-monad ((file ->  (search-path %load-path "guix.scm"))
-                       (intd     (interned-file file))
+                       (intd     (interned-file file #:recursive? #f))
                        (local -> (local-file file))
                        (exp ->   (gexp (begin
                                          (stat (ungexp local))