aboutsummaryrefslogtreecommitdiff
path: root/tests/store.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-13 22:03:42 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-13 22:03:42 +0200
commit3f1e69395cbfaad80710bdfbef433c26aa216271 (patch)
tree4937f847fc6c22f5595f6d75d9e7b1f15cbf8a7c /tests/store.scm
parentd4c748607995bec8a13f058bdeba89e41ff6539c (diff)
downloadgnu-guix-3f1e69395cbfaad80710bdfbef433c26aa216271.tar
gnu-guix-3f1e69395cbfaad80710bdfbef433c26aa216271.tar.gz
store: Add `requisites'.
* guix/store.scm (fold-path, requisites): New procedures. * tests/store.scm ("requisites"): New test.
Diffstat (limited to 'tests/store.scm')
-rw-r--r--tests/store.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/store.scm b/tests/store.scm
index c0126ce335..b42bc97017 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -106,6 +106,24 @@
(null? (references %store t1))
(null? (referrers %store t2)))))
+(test-assert "requisites"
+ (let* ((t1 (add-text-to-store %store "random1"
+ (random-text) '()))
+ (t2 (add-text-to-store %store "random2"
+ (random-text) (list t1)))
+ (t3 (add-text-to-store %store "random3"
+ (random-text) (list t2)))
+ (t4 (add-text-to-store %store "random4"
+ (random-text) (list t1 t3))))
+ (define (same? x y)
+ (and (= (length x) (length y))
+ (lset= equal? x y)))
+
+ (and (same? (requisites %store t1) (list t1))
+ (same? (requisites %store t2) (list t1 t2))
+ (same? (requisites %store t3) (list t1 t2 t3))
+ (same? (requisites %store t4) (list t1 t2 t3 t4)))))
+
(test-assert "derivers"
(let* ((b (add-text-to-store %store "build" "echo $foo > $out" '()))
(s (add-to-store %store "bash" #t "sha256"