diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-02-13 17:23:17 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-02-13 17:28:19 +0100 |
commit | aa72d9afdfe2d65e73c426c280667323181ae592 (patch) | |
tree | acf6256fe1e17138fceea44f72372be8c381c9a3 /tests | |
parent | 57a516d3ec6e6166490ce2892b0e767c5199d060 (diff) | |
download | gnu-guix-aa72d9afdfe2d65e73c426c280667323181ae592.tar gnu-guix-aa72d9afdfe2d65e73c426c280667323181ae592.tar.gz |
gexp: Implement 'imported-modules' & co. using 'gexp->derivation'.
* guix/derivations.scm (imported-files): Keep private.
(%imported-modules, %compiled-modules, build-expression->derivation):
Mark as deprecated.
(imported-modules, compiled-modules): Remove.
* guix/gexp.scm (%mkdir-p-definition): New variable.
(imported-files, search-path*, imported-modules, compiled-modules):
New procedures.
* tests/derivations.scm ("imported-files"): Remove.
* tests/gexp.scm ("imported-files", "gexp->derivation #:modules"): New
tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/derivations.scm | 17 | ||||
-rw-r--r-- | tests/gexp.scm | 34 |
2 files changed, 34 insertions, 17 deletions
diff --git a/tests/derivations.scm b/tests/derivations.scm index 80aabad3a8..e23bdeed77 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -670,23 +670,6 @@ (let ((p (derivation->output-path drv))) (string-contains (call-with-input-file p read-line) "GNU"))))) -(test-assert "imported-files" - (let* ((files `(("x" . ,(search-path %load-path "ice-9/q.scm")) - ("a/b/c" . ,(search-path %load-path - "guix/derivations.scm")) - ("p/q" . ,(search-path %load-path "guix.scm")) - ("p/z" . ,(search-path %load-path "guix/store.scm")))) - (drv (imported-files %store files))) - (and (build-derivations %store (list drv)) - (let ((dir (derivation->output-path drv))) - (every (match-lambda - ((path . source) - (equal? (call-with-input-file (string-append dir "/" path) - get-bytevector-all) - (call-with-input-file source - get-bytevector-all)))) - files))))) - (test-assert "build-expression->derivation with modules" (let* ((builder `(begin (use-modules (guix build utils)) diff --git a/tests/gexp.scm b/tests/gexp.scm index 03722e4669..68c470d3b6 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -360,6 +360,40 @@ (string=? (readlink (string-append out "/" two "/one")) one))))))) +(test-assertm "imported-files" + (mlet* %store-monad + ((files -> `(("x" . ,(search-path %load-path "ice-9/q.scm")) + ("a/b/c" . ,(search-path %load-path + "guix/derivations.scm")) + ("p/q" . ,(search-path %load-path "guix.scm")) + ("p/z" . ,(search-path %load-path "guix/store.scm")))) + (drv (imported-files files))) + (mbegin %store-monad + (built-derivations (list drv)) + (let ((dir (derivation->output-path drv))) + (return + (every (match-lambda + ((path . source) + (equal? (call-with-input-file (string-append dir "/" path) + get-bytevector-all) + (call-with-input-file source + get-bytevector-all)))) + files)))))) + +(test-assertm "gexp->derivation #:modules" + (mlet* %store-monad + ((build -> #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output "/guile/guix/nix")) + #t)) + (drv (gexp->derivation "test-with-modules" build + #:modules '((guix build utils))))) + (mbegin %store-monad + (built-derivations (list drv)) + (let* ((p (derivation->output-path drv)) + (s (stat (string-append p "/guile/guix/nix")))) + (return (eq? (stat:type s) 'directory)))))) + (test-assertm "gexp->derivation #:references-graphs" (mlet* %store-monad ((one (text-file "one" "hello, world")) |