GNU bug report logs - #65755
[PATCH 0/3] Mark some packages as not supported on the hurd.

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Tue, 5 Sep 2023 11:19:01 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

Full log


Message #28 received at 65755 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Marius Bakke <mbakke <at> fastmail.com>, 65755 <at> debbugs.gnu.org,
 Ludovic Courtès <ludo <at> gnu.org>
Subject: Re: This broke make check on master
Date: Fri, 15 Sep 2023 19:56:06 +0100
[Message part 1 (text/plain, inline)]
Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:

> Marius found that building the updated "guix" package on the
> just-rebased hurd-team branch failed.
>
> It turns out that the packages.scm test on master fails notably:
> package-transitive-supported-systems, implicit inputs
>
> test-name: package-transitive-supported-systems, implicit inputs
> location: /home/janneke/src/guix/master/tests/packages.scm:496
> 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" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "i586-gnu" "powerpc-linux")
> actual-value: ("x86_64-linux" "mips64el-linux" "aarch64-linux" "powerpc64le-linux" "riscv64-linux" "i686-linux" "armhf-linux" "powerpc-linux")
> result: FAIL

I would say interesting, but I've struggled with the supported system
stuff for years. The data service does use
package-transitive-supported-systems, but in a very weird way. To check
if a package supports a system, you call
package-transitive-supported-systems with the package and system (as the
second optional argument), then check if that system is present in the
returned list.

This is to say that in my uninformed opinion, the presence of the system
which you pass to package-transitive-supported-systems in the returned
list seems to mean something, but I wouldn't be able to say anything
else about the returned value.

I don't think there's anything wrong with adjusting the expectation to
have the test pass, but to me the longer term thing to do is look at
changing the code around supported systems.

On not breaking tests when making changes though, I don't generally run
make check unless I'm changing code in guix/ but it would be nice to
start QA doing that for every patch series. We should also probably try
to avoid tests that break when making changes to packages.
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 1 year and 305 days ago.

Previous Next


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