~ruther/guix-local

7946c4e710b921c9354ef74557872926d48ea42a — Ludovic Courtès 13 years ago af7f9e5
Add `derivation' test for multiple-output derivations.

* tests/derivations.scm ("multiple-output derivation"): New test.
1 files changed, 18 insertions(+), 0 deletions(-)

M tests/derivations.scm
M tests/derivations.scm => tests/derivations.scm +18 -0
@@ 85,6 85,24 @@
           (equal? (string->utf8 "hello")
                   (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
  (false-if-exception (nixpkgs-derivation "coreutils")))