GNU bug report logs - #40482
Test failure in tests/packages.scm after merging master into core-updates

Previous Next

Package: guix;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Tue, 7 Apr 2020 11:32:02 UTC

Severity: normal

Merged with 40535

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #12 received at 40482-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 40482-done <at> debbugs.gnu.org
Subject: Re: bug#40482: Test failure in tests/packages.scm after merging
 master into core-updates
Date: Sat, 11 Apr 2020 00:36:00 +0200
Hello,

Marius Bakke <mbakke <at> fastmail.com> skribis:

> On the current "core-updates" branch (commit
> a533c5a1835cbeafaf595c4474e2ce6adde7de8d), one test starts to fail if
> commits 190ddfe21e3d87719733d12fb9b5eb176125a49f and
> a187cc562890895ad41dfad00eb1d5c4a4b00936 are applied:
>
> test-name: package-transitive-supported-systems, implicit inputs
> location: tests/packages.scm:362
> source:
> + (test-equal
> +   "package-transitive-supported-systems, implicit inputs"
> +   %supported-systems
> +   (let ((p (dummy-package
> +              "foo"
> +              (build-system gnu-build-system)
> +              (supported-systems
> +                `("does-not-exist" "foobar" ,@%supported-systems)))))
> +     (parameterize
> +       ((%current-system "armhf-linux"))
> +       (package-transitive-supported-systems p))))
> expected-value: ("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu")
> actual-value: ("x86_64-linux" "i686-linux")
> result: FAIL
>
>
> After some trial and error I found that simply removing the test added
> by commit a187cc562890895ad41dfad00eb1d5c4a4b00936 will make the above
> test pass!

This is fixed by e85d4cecbe253e59a8a2a42b6ce427d96ff10534.

This has to do with memoization of things that are actually
system-dependent.  This is why you’d see this side effect: in one case,
the first thing memoized would be the armhf graph, in the other case it
would be the x86_64 one.

Concretely,

  guix build coreutils -s x86_64-linux -s armhf-linux

would return the right derivation for x86_64 and a bogus one for armhf
(one that depends on Mes, Gash, etc.).

Thanks,
Ludo’.




This bug report was last modified 5 years and 42 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.