I've been following the Contributing guide "Building from Git" section (
https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html). I
get as far as `make check` but it fails on the following test. Others on
IRC have reported this issue. I'm unsure how to proceed. Any suggestions?

test-name: fold-available-packages with/without cache
location: /home/main/src/guix/tests/packages.scm:1739
source:
+ (test-assert
+   "fold-available-packages with/without cache"
+   (let ()
+     (define no-cache
+       (fold-available-packages
+         (lambda* (name version result #:rest rest)
+           (cons (cons* name version rest) result))
+         '()))
+     (define from-cache
+       (call-with-temporary-directory
+         (lambda (cache)
+           (generate-package-cache cache)
+           (mock ((guix describe) current-profile (const cache))
+                 (mock ((gnu packages)
+                        cache-is-authoritative?
+                        (const #t))
+                       (fold-available-packages
+                         (lambda* (name version result #:rest rest)
+                           (cons (cons* name version rest) result))
+                         '()))))))
+     (define (list->set* lst)
+       (let loop ((lst lst) (duplicates '()) (seen (set)))
+         (match lst
+                (() (values seen duplicates))
+                ((head . tail)
+                 (if (set-contains? seen head)
+                   (loop tail (cons head duplicates) seen)
+                   (loop tail duplicates (set-insert head seen)))))))
+     (let ((set1 duplicates1 (list->set* from-cache))
+           (set2 duplicates2 (list->set* no-cache)))
+       (and (null? duplicates1)
+            (null? duplicates2)
+            (every (cut set-contains? set1 <>) no-cache)
+            (every (cut set-contains? set2 <>) from-cache)))))
actual-value: #f
result: FAIL


Thanks,
Phil

Reply via email to