Subject: [[email-masked]: Contributing guide building from git make check failure]

From: Leo Famulari <[email-masked]>
Date: Sat, 1 Apr 2023 12:14:58 -0400

----- Forwarded message from Philip Nelson <[email-masked]> -----

Date: Tue, 28 Mar 2023 04:42:25 +0000
From: Philip Nelson <[email-masked]>
To: [email-masked]
Subject: Contributing guide building from git make check failure

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

----- End forwarded message -----