diff options
author | Leo Famulari <leo@famulari.name> | 2017-04-14 13:07:16 -0400 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-04-14 13:07:16 -0400 |
commit | c57ce31a896f659a2e311c2ee90b9027f4a405bc (patch) | |
tree | 17d0d0238ca1db65cce1f2ac68273af0483c9e7d /tests | |
parent | f575efa12c5df9f9879b7be0fe3593a3106a346d (diff) | |
parent | 8439c9c05eab5c98d889fb1de56bc78f62a8058f (diff) | |
download | guix-c57ce31a896f659a2e311c2ee90b9027f4a405bc.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gexp.scm | 7 | ||||
-rw-r--r-- | tests/packages.scm | 35 | ||||
-rw-r--r-- | tests/search-paths.scm | 2 | ||||
-rw-r--r-- | tests/size.scm | 18 |
4 files changed, 60 insertions, 2 deletions
diff --git a/tests/gexp.scm b/tests/gexp.scm index b3f7323984..41a53ae5a4 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -946,6 +946,13 @@ (string=? (readlink (string-append comp "/text")) text))))))) +(test-assert "lower-object & gexp-input-error?" + (guard (c ((gexp-input-error? c) + (gexp-error-invalid-input c))) + (run-with-store %store + (lower-object (current-module)) + #:guile-for-build (%guile-for-build)))) + (test-assert "printer" (string-match "^#<gexp \\(string-append .*#<package coreutils.*\ \"/bin/uname\"\\) [[:xdigit:]]+>$" diff --git a/tests/packages.scm b/tests/packages.scm index aa29758830..930374dabf 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -470,6 +470,14 @@ (package-derivation %store p) #f))) +(let ((dummy (dummy-package "foo" (inputs `(("x" ,(current-module))))))) + (test-equal "&package-input-error" + (list dummy (current-module)) + (guard (c ((package-input-error? c) + (list (package-error-package c) + (package-error-invalid-input c)))) + (package-derivation %store dummy)))) + (test-assert "reference to non-existent output" ;; See <http://bugs.gnu.org/19630>. (parameterize ((%graft? #f)) @@ -878,6 +886,33 @@ (and (build-derivations %store (list drv)) (file-exists? (string-append out "/bin/make"))))))) +(test-equal "package-mapping" + 42 + (let* ((dep (dummy-package "chbouib" + (native-inputs `(("x" ,grep))))) + (p0 (dummy-package "example" + (inputs `(("foo" ,coreutils) + ("bar" ,grep) + ("baz" ,dep))))) + (transform (lambda (p) + (package (inherit p) (source 42)))) + (rewrite (package-mapping transform)) + (p1 (rewrite p0))) + (and (eq? p1 (rewrite p0)) + (eqv? 42 (package-source p1)) + (match (package-inputs p1) + ((("foo" dep1) ("bar" dep2) ("baz" dep3)) + (and (eq? dep1 (rewrite coreutils)) ;memoization + (eq? dep2 (rewrite grep)) + (eq? dep3 (rewrite dep)) + (eqv? 42 + (package-source dep1) (package-source dep2) + (package-source dep3)) + (match (package-native-inputs dep3) + ((("x" dep)) + (and (eq? dep (rewrite grep)) + (package-source dep)))))))))) + (test-assert "package-input-rewriting" (let* ((dep (dummy-package "chbouib" (native-inputs `(("x" ,grep))))) diff --git a/tests/search-paths.scm b/tests/search-paths.scm index 2a4c18dd76..8dad424415 100644 --- a/tests/search-paths.scm +++ b/tests/search-paths.scm @@ -29,7 +29,7 @@ (test-equal "evaluate-search-paths, separator is #f" (string-append %top-srcdir - "/gnu/packages/bootstrap/armhf-linux") + "/gnu/packages/bootstrap/aarch64-linux") ;; The following search path spec should evaluate to a single item: the ;; first directory that matches the "-linux$" pattern in diff --git a/tests/size.scm b/tests/size.scm index 068ebc1d68..575b1abfdd 100644 --- a/tests/size.scm +++ b/tests/size.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,6 +86,22 @@ (profile-self-size profile3) (profile-self-size profile4)))))))))))) +(test-assertm "store-profile with multiple items" + (mlet* %store-monad ((file1 (gexp->derivation "file1" + #~(symlink #$%bootstrap-guile + #$output))) + (file2 (text-file* "file2" + "the file => " file1))) + (mbegin %store-monad + (built-derivations (list file2)) + (mlet %store-monad ((profiles (store-profile + (list (derivation->output-path file2) + (derivation->output-path file1)))) + (reference (store-profile + (list (derivation->output-path file2))))) + (return (and (= (length profiles) 4) + (lset= equal? profiles reference))))))) + (test-end "size") ;;; Local Variables: |