diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-12-04 23:46:50 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-12-04 23:46:50 +0100 |
commit | 860a6f1ae06151d76d39a402d3d92cc7ea6f36ff (patch) | |
tree | bf3ec8471c0f1c8453209c3cc7c3668a1cd99767 /tests/derivations.scm | |
parent | 3036a01ff7dbf618a0012cea8de85820962f7b8e (diff) | |
download | guix-860a6f1ae06151d76d39a402d3d92cc7ea6f36ff.tar.gz |
derivations: Fix erroneous call to `add-to-store' for local files as input.
* guix/derivations.scm (derivation)[inputs]: Fix typo in call to `add-to-store'. * tests/derivations.scm ("derivation with local file as input"): New test. * tests/packages.scm ("trivial with local file as input"): New test.
Diffstat (limited to 'tests/derivations.scm')
-rw-r--r-- | tests/derivations.scm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/derivations.scm b/tests/derivations.scm index bcedfbf948..14e1863a12 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -124,6 +124,29 @@ (string=? (call-with-input-file path read-line) "hello, world")))))) +(test-assert "derivation with local file as input" + (let* ((builder (add-text-to-store + %store "my-builder.sh" + "(while read line ; do echo $line ; done) < $in > $out" + '())) + (input (search-path %load-path "ice-9/boot-9.scm")) + (drv-path (derivation %store "derivation-with-input-file" + (%current-system) + "/bin/sh" `(,builder) + `(("in" + ;; Cheat to pass the actual file + ;; name to the builder. + . ,(add-to-store %store + (basename input) + #t #t "sha256" + input))) + `((,builder) + (,input))))) ; ← local file name + (and (build-derivations %store (list drv-path)) + (let ((p (derivation-path->output-path drv-path))) + (and (call-with-input-file p get-bytevector-all) + (call-with-input-file input get-bytevector-all)))))) + (test-assert "fixed-output derivation" (let* ((builder (add-text-to-store %store "my-fixed-builder.sh" "echo -n hello > $out" '())) |