From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#40482: Test failure in tests/packages.scm after merging master into core-updates Date: Sat, 11 Apr 2020 00:36:00 +0200 Message-ID: <87imi7ufxr.fsf@gnu.org> References: <87ftdfo7lf.fsf@devup.no> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:50440) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jN2Gl-0000E1-UD for bug-guix@gnu.org; Fri, 10 Apr 2020 18:37:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jN2Gk-0004ef-LE for bug-guix@gnu.org; Fri, 10 Apr 2020 18:37:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44517) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jN2Gk-0004ea-IE for bug-guix@gnu.org; Fri, 10 Apr 2020 18:37:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jN2Gk-00055i-GP for bug-guix@gnu.org; Fri, 10 Apr 2020 18:37:02 -0400 Sender: "Debbugs-submit" Resent-To: bug-guix@gnu.org Resent-Message-ID: In-Reply-To: <87ftdfo7lf.fsf@devup.no> (Marius Bakke's message of "Tue, 07 Apr 2020 13:31:24 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Marius Bakke Cc: 40482-done@debbugs.gnu.org Hello, Marius Bakke 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=E2=80=99d see this side effect: in one c= ase, 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=E2=80=99.