aboutsummaryrefslogtreecommitdiff
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)
downloadgnu-guix-1fafc383b1f04fcdaa49941f5bb64ac3008cfad8.tar
gnu-guix-1fafc383b1f04fcdaa49941f5bb64ac3008cfad8.tar.gz
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 7df1b8c5fe..8540aef435 100644
--- a/tests/channels.scm
+++ b/tests/channels.scm
@@ -24,6 +24,7 @@
#:use-module (guix store)
#:use-module ((guix grafts) #:select (%graft?))
#:use-module (guix derivations)
+ #:use-module (guix sets)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -187,12 +188,15 @@
(manifest-entries manifest))
(define (depends? drv in out)
- ;; Return true if DRV depends on all of IN and none of OUT.
- (let ((lst (map derivation-input-path (derivation-inputs drv)))
+ ;; Return true if DRV depends (directly or indirectly) on all of IN
+ ;; and none of OUT.
+ (let ((set (list->set
+ (requisites store
+ (list (derivation-file-name drv)))))
(in (map derivation-file-name in))
(out (map derivation-file-name out)))
- (and (every (cut member <> lst) in)
- (not (any (cut member <> lst) out)))))
+ (and (every (cut set-contains? set <>) in)
+ (not (any (cut set-contains? set <>) out)))))
(define (lookup name)
(run-with-store store
@@ -212,8 +216,8 @@
(depends? drv1
(list drv0) (list drv2 drv3))
(depends? drv2
- (list drv1) (list drv0 drv3))
+ (list drv1) (list drv3))
(depends? drv3
- (list drv2 drv0) (list drv1))))))))
+ (list drv2 drv0) (list))))))))
(test-end "channels")