diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-12-09 10:30:03 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-12-09 14:29:41 +0100 |
commit | 58c08df0544bc39b3b5a8f6638f776159b6b8d8e (patch) | |
tree | 5f172e8bd62b708822babe11944585616c0e06be /tests | |
parent | cc9553562c0b719c40083503795845aa0cc3a6f8 (diff) | |
download | gnu-guix-58c08df0544bc39b3b5a8f6638f776159b6b8d8e.tar gnu-guix-58c08df0544bc39b3b5a8f6638f776159b6b8d8e.tar.gz |
derivations: Determine what's built in 'check' mode.
* guix/derivations.scm (substitution-oracle): Add #:mode parameter and
honor it.
(derivation-prerequisites-to-build): Likewise.
[derivation-built?]: Take it into account.
* guix/ui.scm (show-what-to-build): Add #:mode parameter. Pass it to
'substitute-oracle' and 'derivations-prerequisites-to-build'.
* tests/derivations.scm ("derivation-prerequisites-to-build in 'check'
mode"): New test.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/derivations.scm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/derivations.scm b/tests/derivations.scm index 9fc96c71ae..1bbc93fe5c 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -670,6 +670,26 @@ (((? string? item)) (string=? item (derivation->output-path drv)))))))))) +(test-assert "derivation-prerequisites-to-build in 'check' mode" + (with-store store + (let* ((dep (build-expression->derivation store "dep" + `(begin ,(random-text) + (mkdir %output)))) + (drv (build-expression->derivation store "to-check" + '(mkdir %output) + #:inputs `(("dep" ,dep))))) + (build-derivations store (list drv)) + (delete-paths store (list (derivation->output-path dep))) + + ;; In 'check' mode, DEP must be rebuilt. + (and (null? (derivation-prerequisites-to-build store drv)) + (match (derivation-prerequisites-to-build store drv + #:mode (build-mode + check)) + ((input) + (string=? (derivation-input-path input) + (derivation-file-name dep)))))))) + (test-assert "build-expression->derivation with expression returning #f" (let* ((builder '(begin (mkdir %output) |