Hi Rutger, Rutger Helling <rhell...@mykolab.com> writes:
> when building Guix with 'guix build guix' I keep running into a single > test failure. I've attached the test-suite.log. Is this a Btrfs system by any chance, possibly on an SSD? > test-name: dead path can be explicitly collected > location: > /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:178 > source: > + (test-assert > + "dead path can be explicitly collected" > + (let ((p (add-text-to-store > + %store > + "random-text" > + (random-text) > + '()))) > + (let-values > + (((paths freed) (delete-paths %store (list p)))) > + (and (equal? paths (list p)) > + (> freed 0) > + (not (file-exists? p)))))) > actual-value: #f > result: FAIL I can reproduce this error on two different systems that have Btrfs+LUKS+SSD, and the problem is that freed == 0. I suspect it's related to Btrfs' "lazy" reporting of disk space, but haven't dug very far. Until we figure out what's going on, I suggest applying the patch below. Can you confirm that it works on your system?
From bdc7b5310111e21801529ea57e290f6eb72ac6ed Mon Sep 17 00:00:00 2001 From: Marius Bakke <mba...@fastmail.com> Date: Tue, 21 Nov 2017 00:27:08 +0100 Subject: [PATCH] gnu: guix: Disable test that fails on Btrfs. Works around <https://bugs.gnu.org/29363>. Reported by Rutger Helling <rhell...@mykolab.com>. * gnu/packages/package-management.scm (guix)[arguments]: Rename 'disable-container-tests' phase to 'disable-failing-tests' and add substitution to disable "dead path can be explicitly collected" test. --- gnu/packages/package-management.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4f1f7f577..3321ab1eb 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -169,8 +169,7 @@ (copy "armhf") (copy "aarch64") #t)) - (add-after - 'unpack 'disable-container-tests + (add-after 'unpack 'disable-failing-tests ;; XXX FIXME: These tests fail within the build container. (lambda _ (substitute* "tests/syscalls.scm" @@ -183,6 +182,11 @@ (substitute* "tests/guix-environment-container.sh" (("guix environment --version") "exit 77\n"))) + ;; XXX: This test may fail on some file systems. + ;; See <https://bugs.gnu.org/29363>. + (substitute* "tests/store.scm" + (("^(.*dead path can be explicitly collected\")" all) + (string-append "(test-skip 1)\n" all))) #t)) (add-before 'check 'set-SHELL (lambda _ -- 2.15.0
Ludo, WDYT?
signature.asc
Description: PGP signature