Add `derivation' test for multiple-output derivations.

* tests/derivations.scm ("multiple-output derivation"): New test.
This commit is contained in:
Ludovic Courtès 2012-06-09 21:52:31 +02:00
parent af7f9e5f13
commit 7946c4e710
1 changed files with 18 additions and 0 deletions

View File

@ -85,6 +85,24 @@
(equal? (string->utf8 "hello") (equal? (string->utf8 "hello")
(call-with-input-file p get-bytevector-all)))))) (call-with-input-file p get-bytevector-all))))))
(test-assert "multiple-output derivation"
(let* ((builder (add-text-to-store %store "my-fixed-builder.sh"
"echo one > $out ; echo two > $second"
'()))
(drv-path (derivation %store "fixed" "x86_64-linux"
"/bin/sh" `(,builder)
'(("HOME" . "/homeless")
("zzz" . "Z!")
("AAA" . "A!"))
`((,builder))
#:outputs '("out" "second")))
(succeeded? (build-derivations %store (list drv-path))))
(and succeeded?
(let ((one (derivation-path->output-path drv-path "out"))
(two (derivation-path->output-path drv-path "second")))
(and (eq? 'one (call-with-input-file one read))
(eq? 'two (call-with-input-file two read)))))))
(define %coreutils (define %coreutils
(false-if-exception (nixpkgs-derivation "coreutils"))) (false-if-exception (nixpkgs-derivation "coreutils")))