diff options
Diffstat (limited to 'tests/gexp.scm')
| -rw-r--r-- | tests/gexp.scm | 26 | 
1 files changed, 26 insertions, 0 deletions
| diff --git a/tests/gexp.scm b/tests/gexp.scm index 0540969503..f81ef39860 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -97,6 +97,18 @@                                %store (package-source coreutils))))                   (gexp->sexp* exp))))) +(test-assert "one local file" +  (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 +                              "sha256" file))) +    (and (gexp? exp) +         (match (gexp-inputs exp) +           (((x "out")) +            (eq? x local))) +         (equal? `(display ,intd) (gexp->sexp* exp))))) +  (test-assert "same input twice"    (let ((exp (gexp (begin                       (display (ungexp coreutils)) @@ -336,6 +348,20 @@      (mlet %store-monad ((drv mdrv))        (return (string=? system (derivation-system drv)))))) +(test-assertm "gexp->derivation, local-file" +  (mlet* %store-monad ((file ->  (search-path %load-path "guix.scm")) +                       (intd     (interned-file file)) +                       (local -> (local-file file)) +                       (exp ->   (gexp (begin +                                         (stat (ungexp local)) +                                         (symlink (ungexp local) +                                                  (ungexp output))))) +                       (drv      (gexp->derivation "local-file" exp))) +    (mbegin %store-monad +      (built-derivations (list drv)) +      (return (string=? (readlink (derivation->output-path drv)) +                        intd))))) +  (test-assertm "gexp->derivation, cross-compilation"    (mlet* %store-monad ((target -> "mips64el-linux")                         (exp    -> (gexp (list (ungexp coreutils) | 
