From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 2B4qDJJPTGXBgwAAauVa8A:P1 (envelope-from ) for ; Thu, 09 Nov 2023 04:18:42 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 2B4qDJJPTGXBgwAAauVa8A (envelope-from ) for ; Thu, 09 Nov 2023 04:18:42 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9652E583B4 for ; Thu, 9 Nov 2023 04:18:41 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fXnI1c0i; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1699499922; a=rsa-sha256; cv=none; b=ZV3PH5GxO3mrk6R64Nb5G49/CMsIF4yHDlkO95kb/BefWk0LH3HdhRO3uEBBA/rqYBOdpi ajs54SJuaP9pWAUulCVTtubojIZZsruEPgos/k3jvKY0v/9Gw8gVBSRF40OdgX34uNSp21 t1ffefnhgNiijYJo24A3+1cIA5ZgT4LgvUISfPueHv4Xn3ozYFkPMZY6vc2LvkLltwR3dn 5GzI4Lx6zkTZsPUamg2t+wBkwyBgz6sRlOXP5k6fk+nZxv+GcTIh3eX+S5wufSpvpcim3T 60d6zGZHiu9QdH/Ew+TMdQIcYQnQRdDfBmnn1uWQ3tTVRHziuySHCy1x2HFQAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1699499922; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=dN0ZQsZlbF5IaoMvoLhV2SFUuFYHyTcGEoopiMTRFBY=; b=EgL035n8KbjJkJAOEing/U+fRmGpPPIZ7ZxjsOjq7+c7doRc0KKgfg4KC1x+DEAWjlhdcP JQbc1gZP3j9OCV67rrUCBgmvpN5PFMf1cU86PXQKfRU/U3NDFt7JEQ8LQRBzIDcuwvMPG+ 5+VI5zsENG72JSQZaCtOh58uRnrndF562hXUlSsOlJh8siYS/NFZALlNsv4RYVP4SQo5Ns Z5j8+BSMKErGqm2xC9RGREKnBwr27orvaH03UOszCu6mBRxs3z1ddIFtV1Rvkf0PyOvC6v TVVebNrlC4HukCOwSla88AXzsX+Y9gSyAald2euuSQwpBcCM9DYHMqE9tRMfDA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fXnI1c0i; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r0vYN-0005Tf-OM; Wed, 08 Nov 2023 22:17:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r0vYL-0005TH-Rp; Wed, 08 Nov 2023 22:17:57 -0500 Received: from mail-qv1-xf35.google.com ([2607:f8b0:4864:20::f35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r0vYJ-0003pq-SD; Wed, 08 Nov 2023 22:17:57 -0500 Received: by mail-qv1-xf35.google.com with SMTP id 6a1803df08f44-66d12b3b479so2604536d6.1; Wed, 08 Nov 2023 19:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699499873; x=1700104673; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=dN0ZQsZlbF5IaoMvoLhV2SFUuFYHyTcGEoopiMTRFBY=; b=fXnI1c0i29tawaKwrR9IDqr/352MbKqMjsDSm4XCXPrAyJp9rCNtXolRats5DASHb3 KPwj7lYBn+WhgEc4dSx8qG2TZ8HHahpMZjl2bw9QNiDfyNknc6mSMoQTL5u9KLwg30/q RTUipJebyX3YR6jqXHeP8TyVG2DEB7xZQPsyfOnp4k9Qa/bUgOcuuv1+OEu9MvwYOaU1 /uOMon3rF6QqK3SU6uUZUT0EQycX+IhmfsTDHWcg5e35a+k5OXC6ApvcKd5DWLl5fZOT eu7KOVPm01DNG+FhMRiRpwWWJwWQY9gegabkOot6Ok09VPR1D3IpBtzA4Cy3RvGW/O0J TROA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699499873; x=1700104673; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dN0ZQsZlbF5IaoMvoLhV2SFUuFYHyTcGEoopiMTRFBY=; b=Wucy5THMdXHGXiP5Dnw/iJvgwwJMblXfd8SaunsJzbitBcVVXN/6drv4OLChrhMCN7 p522pC9qw1sEhQA0Ts2lgiR1CmNfKM0Goo8+KustAwtiwGjxFbkr2r9E03SM27mi1mFY 85H2qPvD6sO1zJGOSKy+ufj/ODDKYaPgUcwoIfzuWVHIp7s/pgJw6dn/jfN036mGj9zL Z3tG1niK84ASELpO53tQnPiL9EVrQ/37379EI4NyUphHnBaLOs3IYQEwJt/F5gZJyrEv UQVrlbxcooz1o4K/GcOSKEY/pgTenoc8sQYkPkmFl9ArFds95nBrCyJNpJqHJbawp9k3 9HSA== X-Gm-Message-State: AOJu0YwYAgsndL/pYrtG3/NCYpIEdvSIcMNpR/zESx0cp1pwMsPVF2SX c3t+iAaMjbdDpS8KYWr67NBMvqnb6wA= X-Google-Smtp-Source: AGHT+IFIt28/Khsi1kuBG1Z6qSaSih7mUtXmKIscBtX2cRqu9YYKBehm0HhmE11QXdbiCBCO4i3Ukg== X-Received: by 2002:a05:6214:2a48:b0:66d:a1d3:fd94 with SMTP id jf8-20020a0562142a4800b0066da1d3fd94mr4053050qvb.19.1699499872823; Wed, 08 Nov 2023 19:17:52 -0800 (PST) Received: from hurd (dsl-10-129-91.b2b2c.ca. [72.10.129.91]) by smtp.gmail.com with ESMTPSA id x9-20020a05620a0ec900b007743446efd1sm1670568qkm.35.2023.11.08.19.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 19:17:52 -0800 (PST) From: Maxim Cournoyer To: Simon Tournier Cc: Saku Laesvuori , Vagrant Cascadian , Felix Lechner , Suhail , help-guix@gnu.org, Julien Lepiller , guix-devel@gnu.org Subject: Re: Turning off tests leads to a different store item In-Reply-To: (Simon Tournier's message of "Wed, 8 Nov 2023 23:21:34 +0100") References: <65429087.0c0a0220.5908c.4d60SMTPIN_ADDED_BROKEN@mx.google.com> <87zfzpie51.fsf@gmail.com> <871qd19cqn.fsf@lease-up.com> <878r78gv6m.fsf@gmail.com> <87ttpw897n.fsf@lease-up.com> <871qd0p0qn.fsf@contorta> Date: Wed, 08 Nov 2023 22:17:50 -0500 Message-ID: <87y1f7fwdd.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::f35; envelope-from=maxim.cournoyer@gmail.com; helo=mail-qv1-xf35.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx11.migadu.com X-Spam-Score: -7.92 X-Migadu-Queue-Id: 9652E583B4 X-Migadu-Spam-Score: -7.92 X-TUID: 4uKZPAo15wLu Hi, Simon Tournier writes: > Hi, > > On Wed, 8 Nov 2023 at 20:20, Saku Laesvuori wrote: > >> There is another way: simply preventing the tests from changing the >> resulting store item. For example, the package could first be built >> without tests and then that build tree could be copied to the build tree >> of the build with tests enabled. > > Somehow, the store would need to keep all the build intermediary > artifacts produced, right? For instance, consider the extreme case > where the build phase produces .o artifact files and the tests for > whatever reasons relies on these temporary artifacts. > > Well, we had a quick chat with Josselin and Andreas about separating > the tests at https://hpc.guix.info/events/2023/workshop/program/ > And my understanding of the rough conclusion we had: it is not easy > and the evil are in all the details. For example autotools: somehow > "make check" is connected in one way or the other to "make" and/or > "make install". Somehow, the complete build tree (with intermediary > artifacts as .o) should keep in the store. > > From a pragmatical point of view, there is packages where the tests > cannot be totally separated from from the temporary build, therefore > the question seems: how do these cases compare to the other regular > cases? What is the ratio? Is the rule about many corner cases > without a clear "regular"? Or are they just few corner cases? One easy-ish way, which would be kind of ugly because coupled to the specific file system capabilities (e.g Btrfs), would be to leverage CoW features and create a Btrfs snapshot at the beginning of the test suite, and reverting to it after it's run. But even that is not fullproof; that'd only protect the build directory, say, not the store location (some check phases are moved after installation). I agree it looks tricky to get it right (and even trickier to prove/test for it) :-). I think the lower fruits are in looking at making the test suite of the few common offenders more robust (using libfaketime or the likes) to prevent (re)occurrences of time bombs in the future. -- Thanks, Maxim