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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#40535: closed ([core-updates]: Updating `guix' makes
 package-transitive-supported-systems test fail)
Date: Fri, 10 Apr 2020 22:37:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 11 Apr 2020 00:36:00 +0200
with message-id <87imi7ufxr.fsf <at> gnu.org>
and subject line Re: bug#40482: Test failure in tests/packages.scm after merging master into core-updates
has caused the debbugs.gnu.org bug report #40482,
regarding [core-updates]: Updating `guix' makes package-transitive-supported-systems test fail
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
40482: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40482
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: [core-updates]: Updating `guix' makes
 package-transitive-supported-systems test fail
Date: Fri, 10 Apr 2020 14:05:40 +0200
Hi,

On current core-updates

    d523eb5c9c gnu: python-cython: The i686 python2 workaround is needed for 32-bit ARM too.

updating the guix package like so

    make update-guix-package

leads to a test failure of package-transitive-supported-systems

    make check TESTS=tests/packages

=>

    test-name: package-transitive-supported-systems, implicit inputs
    location: /home/janneke/src/guix/core-updates/tests/packages.scm:397
    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

Last week, when core-updates was at

    1808e64de0 gnu: coreutils: Typo: Use libcap only when supported.

it worked correctly.

This is unfortunate, as wip-hurd-vm (freshly rebased) depends on a guix
update.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


[Message part 3 (message/rfc822, inline)]
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 41 days ago.

Previous Next


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