diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-10-06 01:24:46 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-10-07 22:24:59 +0200 |
commit | 14da91e2f0de4c8a7e1f3b706cc5d961030ff190 (patch) | |
tree | a48c033a6b5e74aa195471423f9881874b2622b0 /tests/packages.scm | |
parent | 81c7948d9acd3e203e5fd7185dbead33c11d4a92 (diff) | |
download | patches-14da91e2f0de4c8a7e1f3b706cc5d961030ff190.tar patches-14da91e2f0de4c8a7e1f3b706cc5d961030ff190.tar.gz |
tests: Use bootstrap and Nixpkgs inputs to be less costly.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("gnu-build"): Use them, by setting `#:implicit-inputs? #f' and `#:guile'.
* tests/packages.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("trivial"): Pass `#:guile %bootstrap-guile'.
("GNU Hello"): Use `package-with-explicit-inputs' to use
%BOOTSTRAP-GUILE and %BOOTSTRAP-INPUTS.
Diffstat (limited to 'tests/packages.scm')
-rw-r--r-- | tests/packages.scm | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/tests/packages.scm b/tests/packages.scm index 20f586e449..1319bf8634 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -35,6 +35,18 @@ (define %store (false-if-exception (open-connection))) +(define %bootstrap-inputs + ;; Derivations taken from Nixpkgs, so that the initial tests don't + ;; take forever. + (and (file-exists? (%nixpkgs-directory)) + `(("make" ,(nixpkgs-derivation "gnumake")) + ("diffutils" ,(nixpkgs-derivation "diffutils")) + ,@(@@ (distro packages base) %bootstrap-inputs)))) + +(define %bootstrap-guile + (@@ (distro packages base) %bootstrap-guile)) + + (test-begin "packages") (define-syntax-rule (dummy-package name* extra-fields ...) @@ -70,7 +82,8 @@ (build-system trivial-build-system) (source #f) (arguments - '(#:builder + `(#:guile ,%bootstrap-guile + #:builder (begin (mkdir %output) (call-with-output-file (string-append %output "/test") @@ -83,13 +96,15 @@ (call-with-input-file (string-append p "/test") read)))))) (test-assert "GNU Hello" - (and (package? hello) - (or (location? (package-location hello)) - (not (package-location hello))) - (let* ((drv (package-derivation %store hello)) - (out (derivation-path->output-path drv))) - (and (build-derivations %store (list drv)) - (file-exists? (string-append out "/bin/hello")))))) + (let ((hello (package-with-explicit-inputs hello %bootstrap-inputs + #:guile %bootstrap-guile))) + (and (package? hello) + (or (location? (package-location hello)) + (not (package-location hello))) + (let* ((drv (package-derivation %store hello)) + (out (derivation-path->output-path drv))) + (and (build-derivations %store (list drv)) + (file-exists? (string-append out "/bin/hello"))))))) (test-assert "find-packages-by-name" (match (find-packages-by-name "hello") |