diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2013-11-13 11:22:07 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2013-11-13 11:22:07 +0100 |
| commit | a716e36de915a275e4eab42b73cf0a2affc4aa33 (patch) | |
| tree | affdccec604ccf00846b7e48f85fcf1861672b87 /tests/derivations.scm | |
| parent | f80594cc41d7ad491f14a73d594228bacafdc871 (diff) | |
derivations: Allow 'map-derivations' to replace sources.
* guix/derivations.scm (map-derivation)[input->output-paths]: Allow
non-derivation inputs.
Allow replacements to be store files. Replace in SOURCES too.
* tests/derivations.scm ("map-derivation, sources"): New test.
Diffstat (limited to 'tests/derivations.scm')
| -rw-r--r-- | tests/derivations.scm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/derivations.scm b/tests/derivations.scm index 09cf81972c9..a4e073bf07c 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm | |||
| @@ -720,6 +720,28 @@ Deriver: ~a~%" | |||
| 720 | (and (build-derivations %store (list (pk 'remapped drv4))) | 720 | (and (build-derivations %store (list (pk 'remapped drv4))) |
| 721 | (call-with-input-file out get-string-all)))) | 721 | (call-with-input-file out get-string-all)))) |
| 722 | 722 | ||
| 723 | (test-equal "map-derivation, sources" | ||
| 724 | "hello" | ||
| 725 | (let* ((script1 (add-text-to-store %store "fail.sh" "exit 1")) | ||
| 726 | (script2 (add-text-to-store %store "hi.sh" "echo -n hello > $out")) | ||
| 727 | (bash-full (package-derivation %store (@ (gnu packages bash) bash))) | ||
| 728 | (drv1 (derivation %store "drv-to-remap" | ||
| 729 | |||
| 730 | ;; XXX: This wouldn't work in practice, but if | ||
| 731 | ;; we append "/bin/bash" then we can't replace | ||
| 732 | ;; it with the bootstrap bash, which is a | ||
| 733 | ;; single file. | ||
| 734 | (derivation->output-path bash-full) | ||
| 735 | |||
| 736 | `("-e" ,script1) | ||
| 737 | #:inputs `((,bash-full) (,script1)))) | ||
| 738 | (drv2 (map-derivation %store drv1 | ||
| 739 | `((,bash-full . ,%bash) | ||
| 740 | (,script1 . ,script2)))) | ||
| 741 | (out (derivation->output-path drv2))) | ||
| 742 | (and (build-derivations %store (list (pk 'remapped* drv2))) | ||
| 743 | (call-with-input-file out get-string-all)))) | ||
| 744 | |||
| 723 | (test-end) | 745 | (test-end) |
| 724 | 746 | ||
| 725 | 747 | ||
