summaryrefslogtreecommitdiff
path: root/tests/channels.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-01-18 10:01:37 +0100
committerLudovic Courtès <ludo@gnu.org>2019-01-20 17:57:14 +0100
commit1fafc383b1f04fcdaa49941f5bb64ac3008cfad8 (patch)
treec6c137d6e6c91c3e5fff72f6030dcde06e67904a /tests/channels.scm
parented75bdf35ca494496cdbc7a06b414e1f08e70cac (diff)
inferior: 'gexp->derivation-in-inferior' honors EXP's load path.
Previously the imported modules and extensions of EXP would be missing from the load path of 'guix repl'. * guix/inferior.scm (gexp->derivation-in-inferior)[script]: New variable. [trampoline]: Write (primitive-load #$script) to PIPE. Add #$output. * tests/channels.scm ("channel-instances->manifest")[depends?]: Check for requisites rather than direct references. Adjust callers accordingly.
Diffstat (limited to 'tests/channels.scm')
-rw-r--r--tests/channels.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/channels.scm b/tests/channels.scm
index 7df1b8c5fe5..8540aef4351 100644
--- a/tests/channels.scm
+++ b/tests/channels.scm
@@ -24,6 +24,7 @@
24 #:use-module (guix store) 24 #:use-module (guix store)
25 #:use-module ((guix grafts) #:select (%graft?)) 25 #:use-module ((guix grafts) #:select (%graft?))
26 #:use-module (guix derivations) 26 #:use-module (guix derivations)
27 #:use-module (guix sets)
27 #:use-module (guix gexp) 28 #:use-module (guix gexp)
28 #:use-module (srfi srfi-1) 29 #:use-module (srfi srfi-1)
29 #:use-module (srfi srfi-26) 30 #:use-module (srfi srfi-26)
@@ -187,12 +188,15 @@
187 (manifest-entries manifest)) 188 (manifest-entries manifest))
188 189
189 (define (depends? drv in out) 190 (define (depends? drv in out)
190 ;; Return true if DRV depends on all of IN and none of OUT. 191 ;; Return true if DRV depends (directly or indirectly) on all of IN
191 (let ((lst (map derivation-input-path (derivation-inputs drv))) 192 ;; and none of OUT.
193 (let ((set (list->set
194 (requisites store
195 (list (derivation-file-name drv)))))
192 (in (map derivation-file-name in)) 196 (in (map derivation-file-name in))
193 (out (map derivation-file-name out))) 197 (out (map derivation-file-name out)))
194 (and (every (cut member <> lst) in) 198 (and (every (cut set-contains? set <>) in)
195 (not (any (cut member <> lst) out))))) 199 (not (any (cut set-contains? set <>) out)))))
196 200
197 (define (lookup name) 201 (define (lookup name)
198 (run-with-store store 202 (run-with-store store
@@ -212,8 +216,8 @@
212 (depends? drv1 216 (depends? drv1
213 (list drv0) (list drv2 drv3)) 217 (list drv0) (list drv2 drv3))
214 (depends? drv2 218 (depends? drv2
215 (list drv1) (list drv0 drv3)) 219 (list drv1) (list drv3))
216 (depends? drv3 220 (depends? drv3
217 (list drv2 drv0) (list drv1)))))))) 221 (list drv2 drv0) (list))))))))
218 222
219(test-end "channels") 223(test-end "channels")