aboutsummaryrefslogtreecommitdiff
path: root/tests/store.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-01-21 16:06:10 +0100
committerLudovic Courtès <ludo@gnu.org>2021-01-22 08:36:03 +0100
commit7df3ab0f0d21e6414a22b113c832dc18475f34a7 (patch)
treef2fca01646ad86d7ca943dbd3f9c8e6cf1976a62 /tests/store.scm
parent211a50352227ef8fa98bc45b2248937ab602fff1 (diff)
downloadguix-7df3ab0f0d21e6414a22b113c832dc18475f34a7.tar
guix-7df3ab0f0d21e6414a22b113c832dc18475f34a7.tar.gz
store: Add 'find-roots' RPC.
* guix/serialization.scm (read-string-pairs): New procedure. * guix/store.scm (read-arg): Add support for 'string-pairs'. (find-roots): New procedure. * tests/store.scm ("add-indirect-root and find-roots"): New test.
Diffstat (limited to 'tests/store.scm')
-rw-r--r--tests/store.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/store.scm b/tests/store.scm
index c9a08ac690..cda0e0302f 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -201,6 +201,17 @@
;; (valid-path? %store p1)
;; (member (pk p2) (live-paths %store)))))
+(test-assert "add-indirect-root and find-roots"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (let* ((item (add-text-to-store %store "something" (random-text)))
+ (root (string-append directory "/gc-root")))
+ (symlink item root)
+ (add-indirect-root %store root)
+ (let ((result (member (cons root item) (find-roots %store))))
+ (delete-file root)
+ result)))))
+
(test-assert "permanent root"
(let* ((p (with-store store
(let ((p (add-text-to-store store "random-text"