guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gexp: Add tests for 'gexp-outputs'.


From: Ludovic Courtès
Subject: 01/02: gexp: Add tests for 'gexp-outputs'.
Date: Fri, 27 Feb 2015 21:15:21 +0000

civodul pushed a commit to branch core-updates
in repository guix.

commit 4b23c4664ec67b8c6329c4aa82a331d2e48341cb
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 27 22:01:54 2015 +0100

    gexp: Add tests for 'gexp-outputs'.
    
    * tests/gexp.scm (gexp-outputs): New procedure.
      ("output list", "output list, combined gexps"): New tests.
---
 tests/gexp.scm |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/tests/gexp.scm b/tests/gexp.scm
index 0b189b5..a6fb550 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -42,6 +42,7 @@
 ;; For white-box testing.
 (define gexp-inputs (@@ (guix gexp) gexp-inputs))
 (define gexp-native-inputs (@@ (guix gexp) gexp-native-inputs))
+(define gexp-outputs (@@ (guix gexp) gexp-outputs))
 (define gexp->sexp  (@@ (guix gexp) gexp->sexp))
 
 (define* (gexp->sexp* exp #:optional target)
@@ -214,6 +215,21 @@
          (equal? (gexp->sexp* exp)                ;native
                  (gexp->sexp* exp "mips64el-linux")))))
 
+(test-equal "output list"
+  2
+  (let ((exp (gexp (begin (mkdir (ungexp output))
+                          (mkdir (ungexp output "bar"))))))
+    (length (gexp-outputs exp))))                ;XXX: <output-ref> is private
+
+(test-assert "output list, combined gexps"
+  (let* ((exp0  (gexp (mkdir (ungexp output))))
+         (exp1  (gexp (mkdir (ungexp output "foo"))))
+         (exp2  (gexp (begin (display "hi!") (ungexp exp0) (ungexp exp1)))))
+    (and (lset= equal?
+                (append (gexp-outputs exp0) (gexp-outputs exp1))
+                (gexp-outputs exp2))
+         (= 2 (length (gexp-outputs exp2))))))
+
 (test-assertm "gexp->file"
   (mlet* %store-monad ((exp -> (gexp (display (ungexp %bootstrap-guile))))
                        (guile  (package-file %bootstrap-guile))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]